Performance difference between select () and WSAEventSelect () vs WSAWaitForMultipleEvents ()

I have an application using a cross-platform library developed internally. For various reasons, I should stick to this library under windows at least.

This library contains the socket class that I should use, and the select caller.

I have the opportunity to modify the library a bit. Will there be a performance improvement when migrating to WSAWaitForMultipleEvents or WSAEventSelect?

Keep in mind that the client library is based on blocking I / O.

i.e. it invokes a choice for checking reads first before issuing recvfrom, as well as for writing.

From what I see, there are quite a few settings just for selection and I asked if I can improve the polling speed by switching to the native versions of Windows, since my Linux-based UDP server sometimes overloads my receiver, which stops. This . that is, the receiver, when it does not do much, cannot cope with the problem. Increasing the receive buffers helped a lot, but now I'm looking at the choice.

+3
source share

Source: https://habr.com/ru/post/1768012/


All Articles