Optimizing the Unoptimizable: A Journey to Faster C++ Compile Times -- Victor Zverovich
In this post, Victor talks about bringing compile times of the {fmt} library on par with the C standard I/O library (stdio).
Optimizing the Unoptimizable: A Journey to Faster C++ Compile Times
by Victor Zverovich
From the article:
First some background: {fmt} is a popular open-source formatting library for C++ that provides a better alternative to C++ iostreams and C stdio. It has already surpassed stdio in many areas:
- Type safety with compile-time format string checks available by default since C++20 and as an opt in for C++14/17. Runtime format strings are also safe to use in {fmt} which is impossible to achieve in
printf.- Extensibility: user-defined type can be made formattable and most standard library types such as containers, dates and times are formattable out of the box.
- Performance: {fmt} is significantly faster than common standard library implementations of
printf, in some cases by an order of magnitude (e.g. on floating-point formatting).- Portable Unicode support.
However, one area where stdio remained significantly better was compile times.

Seastar announces that now that C++23 is available, they will support C++23 and C++20 (dropping support for C++17) in accordance with their support policy
In this software troubleshooting case, a customer experienced program crashes, and a detailed analysis of the code revealed several issues. The primary problem stemmed from lazy initialization of a widget list, leading to inconsistent vector states and potential crashes. Additionally, a multithreading issue was identified, highlighting the importance of thread-safety mechanisms in code that can be accessed concurrently.
A new episode of the series about SObjectizer and message passing:
Explaining machine code from the ground up!
A new episode of the series about SObjectizer and message passing: