Runtime: Linux sockets: Consider removing multi-threading support in SocketAsyncEngine

Created on 14 Nov 2017  路  5Comments  路  Source: dotnet/runtime

PR dotnet/corefx#23115 makes this likely unnecessary.

There's some additional tuning work planned to try to better optimize epoll_wait behavior, and as part of this, we should remove the multi-threading support in SocketAsyncEngine (or at least rework it).

area-System.Net.Sockets enhancement os-linux

Most helpful comment

@sgf, you've been going around commenting on a variety of issues, making broad negative claims about performance, with nothing to substantiate those claims. If you're hitting a performance issue, please open a new issue that includes a repro of the problem and specifics about what the exact problem is.

All 5 comments

Does not seem to be critical for 2.1 - moving to Future. If it blocks ASP.NET on Sockets perf investigations. In such case, we can bring it back.

On Linux, the current architecture has a major performance bottleneck. on netcore2.2 at least, I cannot get more than 80k packets/s (async/pipelines) whereas I can easily achieve 525k packets using 16 threads, if I use dotnet and call libuv.

@sgf, you've been going around commenting on a variety of issues, making broad negative claims about performance, with nothing to substantiate those claims. If you're hitting a performance issue, please open a new issue that includes a repro of the problem and specifics about what the exact problem is.

@sgf we are definitely interested in feedback on performance or anything else. What we are asking is that it adds specific information relevant to the issue for example confirms that the specific issue reproduces for you or adds more information about the specific issue. If it's not related then it's best to open a new issue again with specific information.

This got addressed via #35800.

Was this page helpful?
0 / 5 - 0 ratings