我有一个使用内部开发的跨平台库的应用程序。由于种种原因,我至少必须坚持在 Windows 下使用这个库。
该库包含一个我必须使用的套接字类,它正在调用 select。
我有能力稍微修改图书馆。如果转到 WSAWaitForMultipleEvents 或 WSAEventSelect,性能会有所提高吗?
请记住,客户端库基于阻塞 I/O。
即它调用 select 在发出 recvfrom 之前先检查读取,对于写入也是如此。
从我所看到的情况来看,有很多设置仅用于选择,并且想知道是否可以通过转到 Windows 本机版本来提高轮询速度,因为我的基于 linux 的 UDP 服务器偶尔会过度使用我的接收器,从而使其停止。即接收器虽然没有做很多事情,但很难跟上。增加接收缓冲区有很大帮助,但现在我正在考虑选择。