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-18 21:26:58


#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:29 Maxim Yegorushkin <maxim.yegorushkin@…>]:
> With this patch boost::condition_variable performs better than std one
 in the benchmark:
>
> {{{
> consumers,(std-boost)/std,std,boost
> 1,1.738797,17452356,17148895
> 2,0.818735,26905168,26684886
> 3,0.909335,58318561,57788250
> 4,0.929148,45236280,44815968
> 5,1.255012,54510018,53825911
> 6,1.410902,63880220,62978933
> 7,1.094065,72988694,72190150
> 8,1.073388,82271239,81388149
> 9,0.915663,91362805,90526230
> 10,0.991684,100724122,99725257
> }}}
>
> (I also updated that spreadsheet on docs.google.com)
>
> Nicely done!

 Glad to see these nice figures ;-)

> In the patch condition_variable always has internal_mutex member, is it
 intended?

 No. I left it to preserve the layout of condition_variable in case I reach
 to be able to have a single library able to manage with both
 configurations, but it needs a lot of changes. So for the time been, users
 will need a build the library with
 -DBOOST_THREAD_DONT_PROVIDE_INTERRUPTIONS and internal_mutex will not be
 defined.

 I appreciate a lot this long walk co-working with you to achieve these
 results, that I hope are good enough for your application.

 I will commit it as soon as all the regression test pass and I hope I
 would be able to merge it the release 1.53.

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