Subject: Re: [Boost-bugs] [Boost C++ Libraries] #7422: Provide a condition variable with zero-overhead performance penality
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-12-13 20:55:07
#7422: Provide a condition variable with zero-overhead performance penality
------------------------------------------+---------------------------------
Reporter: maxim.yegorushkin@⦠| Owner: viboes
Type: Feature Requests | Status: assigned
Milestone: To Be Determined | Component: thread
Version: Boost 1.51.0 | Severity: Regression
Resolution: | Keywords: condition_variable
------------------------------------------+---------------------------------
Comment (by Maxim Yegorushkin <maxim.yegorushkin@â¦>):
Good idea, so I re-ran the benchmark on my Fedora 17 workstation with
i7-3820. For these two runs I used boost trunk as of revision 81908. One
run with the benchmark and boost built with
-DBOOST_THREAD_DONT_PROVIDE_INTERRUPTIONS macro and one without.
(Forgot to mention that in addition to running the benchmark with real-
time priority FIFO 99, I also disable CPU frequency scaling to prevent the
CPU from shifting gears while benchmarking).
There is a noticeable 35% improvement in median run-time when macro
BOOST_THREAD_DONT_PROVIDE_INTERRUPTIONS is defined. (Note that I am not
being overly scientific here because the analysis of variance is missing,
i.e. I can't say I am 95% sure. However on the plot the effect of the
macro is quite noticeable)
On the other hand, using boost mutex and condition_variable with
BOOST_THREAD_DONT_PROVIDE_INTERRUPTIONS defined is still around 5% slower
than when using the same primitives from std namespace. (Same caveat)
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/7422#comment:14> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:11 UTC