dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
15.18k stars 4.72k forks source link

Implement Registered I/O for sockets on Windows #78143

Open murshex opened 1 year ago

murshex commented 1 year ago

I think this would help increase performance of many projects including Kestrel.

ghost commented 1 year ago

Tagging subscribers to this area: @dotnet/ncl See info in area-owners.md if you want to be subscribed.

Issue Details
I think this would help increase performance of many projects including Kestrel.
Author: c0nd3v
Assignees: -
Labels: `area-System.Net.Sockets`
Milestone: -
murshex commented 1 year ago

cc: @davidfowl @stephentoub

stephentoub commented 1 year ago

https://github.com/dotnet/runtime/issues/14101

murshex commented 1 year ago

14101

I saw this, but it’s closed and marked as resolved.

antonfirsov commented 1 year ago

of many projects including Kestrel.

Kestrel has a transport abstraction, they don't have to rely on System.Net.Sockets for improvements. There was a community attempt to implement RIO transport in https://github.com/aspnet/KestrelHttpServer/pull/1630. For some reason they are not interested going RIO. /cc @davidfowl @halter73

@c0nd3v: are there particular use cases important to you where you think this would bring a significant improvement?

wfurt commented 1 year ago

The issue was auto-closed and all the discussions are very old. To me the difficulty here is that this is really Windows specific and would not work anywhere else. There was some effort to see if we can come up with something that would also abstract and cover uring on Linux.