namreeb
2015-08-29 18:09:04 UTC
Hello.
A project I am working on is considering switching to ASIO to govern our
server's handling of TCP connections with clients. The server is a
multi-threaded application which exchanges a large number of small packets
with the client. The reading and writing to sockets is done on multiple
threads.
I have seen reports of performance issues with ASIO in a Linux (and
possibly, more generally, UNIX) environment relating to some internal mutex
which essentially prevents epoll() from executing across multiple threads
simultaneously.
I have started writing a small application to simulate this scenario, using
the examples in the documentation as a starting point. However, I thought
it would be prudent to also inquire to the experts about this issue here.
It seems like if this is indeed an issue, it should be straight-forward
enough for the maintainer(s) of ASIO to address?
I understand that there is a wiki article relating to this (
https://think-async.com/Asio/LinuxPerformanceImprovements) but it has not
been updated in some time.
Thank you!
A project I am working on is considering switching to ASIO to govern our
server's handling of TCP connections with clients. The server is a
multi-threaded application which exchanges a large number of small packets
with the client. The reading and writing to sockets is done on multiple
threads.
I have seen reports of performance issues with ASIO in a Linux (and
possibly, more generally, UNIX) environment relating to some internal mutex
which essentially prevents epoll() from executing across multiple threads
simultaneously.
I have started writing a small application to simulate this scenario, using
the examples in the documentation as a starting point. However, I thought
it would be prudent to also inquire to the experts about this issue here.
It seems like if this is indeed an issue, it should be straight-forward
enough for the maintainer(s) of ASIO to address?
I understand that there is a wiki article relating to this (
https://think-async.com/Asio/LinuxPerformanceImprovements) but it has not
been updated in some time.
Thank you!