mirror of
https://github.com/vosen/ZLUDA.git
synced 2025-04-24 01:34:43 +00:00
47 lines
1.5 KiB
Text
Vendored
47 lines
1.5 KiB
Text
Vendored
Microsoft Research Detours Package
|
|
==============================================================================
|
|
4/2/98
|
|
|
|
* Instrumentation:
|
|
Read Pentium cycle counter
|
|
|
|
* PC configuration:
|
|
DCOM/TCP, Windows NT Server 4.0,
|
|
between two 300MHz Pentium boxes,
|
|
Ethernet connecction
|
|
|
|
* Client test program:
|
|
HRESULT get(SHORT, SHORT, LONG*)
|
|
average over 1,000 calls
|
|
midl /Oicf
|
|
|
|
* Results:
|
|
get() {
|
|
<-- (1)
|
|
IRpcChannelBuffer::SendReceive()) {
|
|
<-- (2)
|
|
I_RpcSendReceive() {
|
|
<-- (3)
|
|
send(soc, )
|
|
<-- (4)
|
|
NtWaitForSingleObject(soc, )
|
|
<-- (5)
|
|
} // end of RPC layer
|
|
<-- (6)
|
|
} // end of channel object
|
|
<-- (7)
|
|
} // end of client call
|
|
Average number
|
|
of Pentium cycles
|
|
(1) NDR marshaling overhead (2 SHORTs) 13 K
|
|
(No! of which 11K from GetBuffer,
|
|
of which 6.2K from I_RpcGetBuffer()!)
|
|
(2) Channel object one-way (send) overhead 1.0 K
|
|
(3) RPC layer one-way (send) overhead 5.3 K
|
|
(4) TCP + all server work 200 K
|
|
(5) RPC layer one-way (recv) overhead 5.1 K
|
|
(6) Channel object one-way (recv) overhead 2.2 K
|
|
(7) NDR unmarshaling overhead (2 LONGs) 4.2 K
|
|
|
|
(*) send() only 17 K
|
|
TOTAL CYCLES for client get(): 230 K
|