Marat Abrarov
2012-07-25 17:15:03 UTC
Hi dear Asio users and Asio author.
Some time ago I received unexpected feedback about my project asio_performance_test_client
(http://sourceforge.net/projects/asio-samples):
http://asio-samples.blogspot.com/2012/06/blog-post.html?showComment=1342554363809#c9137155316299593396 (sorry, but it's
in Russian, the texts are rather simple so I hope any online translator can help).
The most interesting part is Loading Image....
I tried to do some tests at Windows (http://asio-samples.blogspot.com/2012/07/asio-performance-test.html) and it seems
that at least at Windows performance of Asio is well enough (most of the time is spent in system functions related to IO
and event demultiplexing).
I think the reason of poor Asio performance at Linux (in case of
http://asio-samples.blogspot.com/2012/06/blog-post.html?showComment=1342554363809#c9137155316299593396) may be related
to implementation of asio::detail::mutex at Linux - asio::detail::posix_mutex class.
asio::detail::mutex at Windows uses Windows critical section which internally uses spinlock + OS mutex. May be this
spinlock causes the difference between mine test (https://docs.google.com/open?id=0B4NhcxJYpyXGMUgxQ2VUN0VYcDg) and the
Nikki's one.
There was the theme named "boost asio overhead/scalability" in this mailing list. I think it's author could have the
same problem with asio::detail::mutex. Any suggestions?
Regards,
Marat Abrarov.
Some time ago I received unexpected feedback about my project asio_performance_test_client
(http://sourceforge.net/projects/asio-samples):
http://asio-samples.blogspot.com/2012/06/blog-post.html?showComment=1342554363809#c9137155316299593396 (sorry, but it's
in Russian, the texts are rather simple so I hope any online translator can help).
The most interesting part is Loading Image....
I tried to do some tests at Windows (http://asio-samples.blogspot.com/2012/07/asio-performance-test.html) and it seems
that at least at Windows performance of Asio is well enough (most of the time is spent in system functions related to IO
and event demultiplexing).
I think the reason of poor Asio performance at Linux (in case of
http://asio-samples.blogspot.com/2012/06/blog-post.html?showComment=1342554363809#c9137155316299593396) may be related
to implementation of asio::detail::mutex at Linux - asio::detail::posix_mutex class.
asio::detail::mutex at Windows uses Windows critical section which internally uses spinlock + OS mutex. May be this
spinlock causes the difference between mine test (https://docs.google.com/open?id=0B4NhcxJYpyXGMUgxQ2VUN0VYcDg) and the
Nikki's one.
There was the theme named "boost asio overhead/scalability" in this mailing list. I think it's author could have the
same problem with asio::detail::mutex. Any suggestions?
Regards,
Marat Abrarov.