Re: [Boost-bugs] [Boost C++ Libraries] #7422: Provide a condition variable with zero-overhead performance penality

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