[ofw] winverbs ND provider

Sean Hefty sean.hefty at intel.com
Tue Jan 12 16:12:28 PST 2010


>I'll try to measure the socket calls used by winverbs to see
>how much time is spent there.  That's really the only significant piece
>of code I can see.

Here's some timing measurements for calls to winverbs:BindAddress(),
which is invoked when creating a listen and connect.  This is for a
single connection.

listen side:
translate address: 62 us
socket: 844 us
socket bind: 34 us
getsockname: 8 us
winverbs bind ioctl: 19 us

connect side:
translate address: 73 us
socket: 75 us
socket bind: 32 us
getsockname: 9 us
winverbs bind ioctl: 17 us
QueryPerformanceCounter: roughly 10,000 us - egads

I don't know why the server socket call takes so much longer, but the
results are consistent.  I'm guessing it's related to something internal
to winsock initialization.  In total, BindAddress can be called about
4800 times per second.  I will try to break the times down more and
group them some.  The poor performance of QueryPerformanceCounter makes
collecting accurate data at multiple levels difficult though.




More information about the ofw mailing list