Log In
Log In

C++20 modules and Boost: follow up

https://anarthal.github.io/cppblog/modules2

It is shown by benchmarks that C++20 modules cut Boost rebuild times by about 45%, but modularizing requires macro work, source changes, complex CMake support, handling of compiled libraries, and extra testing, leading to a community choice on adoption.

Next Post

  • Dmitry's Q1 2024 Update
    Link #Endian
    During Q1 2024 work on Boost.JSON included direct serialization and cleanup, a performance regression in the parser was identified and will be fixed, number serialization is being reimplemented with Charconv pending compiler support, Boost.Endian replaced internal endianness handling, and a recursive filesystem::path conversion bug was resolved.
  • Hub is here
    Link #Bloom
    During Q2 2026 Boost work is summarized: boost::container::hub accepted for Boost 1.92; Boost.Unordered added C++20 range support; Boost.MultiIndex got iterator pointers; Boost.ICL fixed for libc++ v22; Boost.Bloom, Boost.Graph and activities noted.
  • MrDocs Bootstrap: One Script to Build Them All
    Link
    Complex C++ dependency management is explained with version conflicts, ABI issues, and platform toolchain differences. Limitations of package managers are described, and a bootstrap script is presented that automates builds, configuration, and IDE setup across platforms, supporting sanitizers.
  • Speed and Safety
    Link #Decimal
    CUDA support is added to Boost int128 for host and device use. Device from_chars/to_chars are provided by Boost.Charconv, and Boost.Decimal will gain CUDA later. Verification is used by Boost.Safe_Numbers for safety and error check with CUDA reporting.