Working on Boost.Bloom roadmap
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
Reviewed PR#316.
Boost.MultiIndex
Boost.Flyweight
Boost.PolyCollection
Reviewed PR#32.
Boost website
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).
Related news
View all →Joining Community, Detecting Communities, Making Community.
Early in Q1 2026, I joined the C++ Alliance. A very exciting moment.
Read more →The road to C++20 modules, Capy and Redis
C++20 modules have been in the standard for 6 years already, but we’re not seeing widespread adoption. The ecosystem is still getting ready.
Read more →Stay up to date
Get Alliance news, project updates, and community highlights in your inbox.
SubscribeEmpowering C++ by funding libraries, building community, and advancing the language.
Connect with us