Because Windows Sockets is just a transport protocol interface and not a protocol itself, it is able to achieve a very high level of performance. Well-written and optimized Windows Sockets applications and services typically perform much better than applications written to Named Pipes, NetBIOS, or other communication mechanisms. However, because Windows Sockets is so "close to the metal" of the transport protocol, it is also possible to write Windows Sockets applications and services which perform very poorly.
Excellent performance does not come free. Developers must spend some time understanding the performance characteristics of their applications, then making modifications to enhance performance. A good network analyzer is usually essential for network performance work, as the analyzer will indicate where the bottlenecks are and how efficiently the application is using the physical network. Also important are good benchmarks which both evaluate the important performance cases and provide consistent, reproducible results.