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 21:14:56


#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 viboes):

 Replying to [comment:14 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.

 Thanks.

> (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)

 Glad to hear it.

> 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)

 I was sure that there would be other parts that need to be inspected :(
 I will try to see what I can do.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/7422#comment:16>
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