On 15.05.2017 21:38, Alexandre Julliard wrote:
Jacek Caban jacek@codeweavers.com writes:
Sorry about that, I will send a fixed version. However, this rises my other related concern. What do you think about changing this code to always use winsock? We'd use single implementation, making the code cleaner and avoiding breaking other configs. I guess the original reasoning was combination of performance and less mature winsock implementation at the time. I don't think winsock overhead would be too bad in this case and ws2_32 should be up to the task.
I'm working on more changes to this area, so if we're going to switch to winsock, it would make sense to start with it.
If performance is reasonable, I have no objections.
I did a bit of benchmarking. When doing a lot of trivial RPC calls in a loop using localhost, winsock based implementation (with the patch I just sent) is about 6% slower than Windows, although over 3 times slower than Wine with UNIX sockets. That a test that should show the biggest slow down, since no real networking is done. When I tried with real network RPC (which is more realistic scenario), it's only about 7% slower than UNIX sockets and 10% faster than Windows. Those numbers will vary mostly on connection used, but it's clear that its impact is an order of magnitude smaller than connection speed.
Jacek