Working on Boost.Bloom roadmap

Oct 9, 2025

During Q3 2025, I’ve been working in the following areas:

Boost.Bloom

Boost.Bloom has been officially released in Boost 1.89. I’ve continued working on a number of roadmap features:

  • Originally, some subfilters (block, fast_multiblock32 and fast_multiblock64) implemented lookup in a branchful or early-exit way: as soon as a bit checks to zero, lookup terminates (with result false). After extensive benchmarks, I’ve changed these subfilters to branchless execution for somewhat better performance (PR#42). Note that boost::bloom::filter<T, K, ...> is still branchful for K (the number of subfilter operations per element): in this case, branchless execution involves too much extra work and does not compensate for the removed branch speculation. Ivan Matek helped with this investigation.
  • Added bulk-mode operations following a similar approach to what we did with Boost.Unordered concurrent containers (PR#42).
  • I’ve been also working on a proof of concept for a dynamic filter where the k and/or k’ values can be specified at run time. As expected, the dynamic filter is slower than its static counterpart, but benchmarks show that execution times can increase by up to 2x for lookup and even more for insertion, which makes me undecided as to whether to launch this feature. An alternative approach is to have a dynamic_filter<T> be a wrapper over a virtual interface whose implementation is selected at run time from a static table of implementations based on static filter<T, K> with K between 1 and some maximum value (this type erasure technique is described, among other places, in slides 157-205 of Sean Parent’s C++ Seasoning talk): performance is much better, but this approach also has drawbacks of its own.
  • Reviewed a contribution fom Braden Ganetsky to make the project’s CMakeLists.txt more Visual Studio-friendly (PR#33).

Boost.Unordered

Boost.MultiIndex

Boost.Flyweight

  • Fixed an internal compile error that manifested with newer compilers implementing P0522R0 (PR#23).
  • Reviewed PR#22.

Boost.PolyCollection

Boost website

  • Filed issues #1845, #1846, #1851, #1858, #1900, #1927, #1936, #1937.
  • Helped with the transition of the global release notes procedure to one based on the new website repo exclusively (PR#508, PR#510). This procedure is expected to launch in time for the upcoming Boost 1.90 release.

Boost promotion

  • Prepared and posted around 10 messages on Boost’s X account and Reddit. The activity on social media has grown considerably thanks to the dedication of Rob Beeston and others.

Support to the community

  • Helped Jean-Louis Leroy get Drone support for the upcoming Boost.OpenMethod library (PR#39).
  • Supporting the community as a member of the Fiscal Sponsorhip Committee (FSC).

All Posts by This Author