Posts

Showing posts from February, 2025

Some Info-graphics

Image
I make info-graphics to make it easier to explain to others what I'm working on. These also make it easier for me to keep the details straight. Anyway, this is just a dump of a few recent info-graphics. I'm especially fond of the second one!

Speedup from wrapping third-party libraries in C++20 modules

Image
TL;DR: Wrapping third-party include-heavy libraries in C++ modules improved clean-and-build time by about 40% for both my laptop and desktop.   My desktop (which I haven't been able to use because of a leg injury), has like 20processor_threads each at 4.5GHz . Multiply that out, and you've got 90GHz-processor_threads . My laptop has 8processor_threads each at 2.0GHz for 16GHz-processor_threads . 90/16 is about 5.5 , and I certainly feel the difference on this laptop.   I've been wanting to start using third-party c++ libraries as modules for a while now. There is a huge promise of build time speedup, but not all of the tools are in place for a library creator to provide their library as a module yet (via a package manager anyway).   I learned recently that you can pretty concisely export included symbols from a module. For example: Here is my wrapper module for a popular command line parsing library:       I was also recently forced to recognize just h...