Boost C++ Libraries: Ticket #5158: speed up lowest_bit() for gcc 4.x compatibles https://svn.boost.org/trac10/ticket/5158 <p> The patch provides specialization of lowest_bit() template that utilizes <span class="underline">builtin_ctz[l][l]() function, available for gcc 4.x-compatible compilers, instead of calculation-intensive path that makes use of integer_log2(). </span></p> <p> Since lowest_bit() is used in dynamic_bitset::find_first()/find_next(), the patch leads to significant speed up for bitset traversal. </p> <p> The patch was tested on gcc 4.5.2 x86_64 and icc 11.1 x86_64. </p> <p> Currently, the patch provides no checks, if <span class="underline">builting_ctz is available for current toolset. I can try to add this, given the overall positive feedback. </span></p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/5158 Trac 1.4.3 astukalov@… Fri, 04 Feb 2011 00:38:56 GMT attachment set https://svn.boost.org/trac10/ticket/5158 https://svn.boost.org/trac10/ticket/5158 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">lowest_bit.patch</span> </li> </ul> <p> lowest_bit() patch against the trunk </p> Ticket acharles Wed, 19 Feb 2014 04:52:55 GMT owner, status changed https://svn.boost.org/trac10/ticket/5158#comment:1 https://svn.boost.org/trac10/ticket/5158#comment:1 <ul> <li><strong>owner</strong> changed from <span class="trac-author">Daryle Walker</span> to <span class="trac-author">acharles</span> </li> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">assigned</span> </li> </ul> <p> Proposed fix in: <a class="ext-link" href="https://github.com/boostorg/dynamic_bitset/pull/1"><span class="icon">​</span>https://github.com/boostorg/dynamic_bitset/pull/1</a> </p> Ticket acharles Wed, 19 Feb 2014 04:53:39 GMT component, milestone changed https://svn.boost.org/trac10/ticket/5158#comment:2 https://svn.boost.org/trac10/ticket/5158#comment:2 <ul> <li><strong>component</strong> <span class="trac-field-old">integer</span> → <span class="trac-field-new">dynamic_bitset</span> </li> <li><strong>milestone</strong> <span class="trac-field-old">To Be Determined</span> → <span class="trac-field-new">Boost 1.56.0</span> </li> </ul> Ticket acharles Fri, 21 Feb 2014 08:06:45 GMT type changed https://svn.boost.org/trac10/ticket/5158#comment:3 https://svn.boost.org/trac10/ticket/5158#comment:3 <ul> <li><strong>type</strong> <span class="trac-field-old">Patches</span> → <span class="trac-field-new">Feature Requests</span> </li> </ul> Ticket James E. King, III Thu, 06 Jun 2019 13:57:27 GMT owner, status, summary changed; version, milestone deleted https://svn.boost.org/trac10/ticket/5158#comment:4 https://svn.boost.org/trac10/ticket/5158#comment:4 <ul> <li><strong>owner</strong> changed from <span class="trac-author">acharles</span> to <span class="trac-author">James E. King, III</span> </li> <li><strong>status</strong> <span class="trac-field-old">assigned</span> → <span class="trac-field-new">new</span> </li> <li><strong>summary</strong> <span class="trac-field-old">[pending] speed up lowest_bit() for gcc 4.x compatibles</span> → <span class="trac-field-new">speed up lowest_bit() for gcc 4.x compatibles</span> </li> <li><strong>version</strong> <span class="trac-field-deleted">Boost Development Trunk</span> </li> <li><strong>milestone</strong> <span class="trac-field-deleted">Boost 1.56.0</span> </li> </ul> Ticket