Skip to content

Conversation

@House-Men
Copy link
Contributor

@House-Men House-Men commented Apr 1, 2025

event/overlapio.c 行397存在这个宏开关

@ithewei
Copy link
Owner

ithewei commented Apr 2, 2025

windows上现在默认用的wepoll,没有编译使用这个文件了

@House-Men
Copy link
Contributor Author

windows上现在默认用的wepoll,没有编译使用这个文件了

我之前以为开了USE IOCP会启用重叠IO这个文件实现。。这个重叠IO为什么不打算用了?据说iocp+overlapio才是socket通讯性能极限。

@ithewei
Copy link
Owner

ithewei commented Apr 3, 2025

windows上现在默认用的wepoll,没有编译使用这个文件了

我之前以为开了USE IOCP会启用重叠IO这个文件实现。。这个重叠IO为什么不打算用了?据说iocp+overlapio才是socket通讯性能极限。

因为select、poll、epoll、kqueue这些都是reactor模型,事件到来然后进行读写,而iocp+overlapio是proactor模型,先投递读写,然后通知完成,这两种模型不太好统一,所以目前在windows上是使用了wepoll来调用iocp实现reactor模型,没有使用到overlapio

@House-Men
Copy link
Contributor Author

windows上现在默认用的wepoll,没有编译使用这个文件了

我之前以为开了USE IOCP会启用重叠IO这个文件实现。。这个重叠IO为什么不打算用了?据说iocp+overlapio才是socket通讯性能极限。

因为select、poll、epoll、kqueue这些都是reactor模型,事件到来然后进行读写,而iocp+overlapio是proactor模型,先投递读写,然后通知完成,这两种模型不太好统一,所以目前在windows上是使用了wepoll来调用iocp实现reactor模型,没有使用到overlapio

我看后续规划中有支持linux的io_uring考虑,这个应该和iocp+overlapio类似吧

@House-Men House-Men closed this Apr 13, 2025
@House-Men House-Men deleted the patch-1 branch April 13, 2025 04:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants