rpcrt4: Use standard Wine list to store connections in RpcServerProtseq.

Jacek Caban jacek at codeweavers.com
Tue May 16 10:57:08 CDT 2017


On 15.05.2017 21:38, Alexandre Julliard wrote:
> Jacek Caban <jacek at 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



More information about the wine-devel mailing list