Hello, We have had complaints from several large hardware vendors that Windows networking is slow for apps like iperf that are used to measure throughput. Iperf on Windows is compiled against the cygwin1.dll. We have root caused the problem to a couple of lines of code in net.cc that set SO_RCVBUF and SO_SNDBUF to about 200KB.
The theoretical window/RTT plot for the buffer size set by Cygwin (0x34000 = 200KB) gives us: 1ms -> 1703Mbps 2ms -> 851Mbps 3ms -> 567Mbps 4ms -> 425Mbps 5ms -> 340Mbps 6ms -> 283Mbps 7ms -> 243Mbps 8ms -> 212Mbps 9ms -> 189Mbps 10ms -> 170Mbps 20ms -> 85Mbps 40ms -> 42Mbps 60ms -> 28Mbps 80ms -> 21Mbps We have confirmed this by experiment and also confirmed that the limitation goes away if the buffers are not manually set. Windows has autotuning and when the buffers are set manually the autotuning is disabled. This is causing the throughput limitation. So we would like to formally ask that you please not manually set SO_RCVBUF or SO_SNDBUF. thanxs ;^) ...Daniel -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple