"Modules will solve everything", people say — some optimistically, others sarcastically. However, modules are far from reaching real-world maturity, and it is still not certain whether they will improve compilation times in every situation and how costly it will be to migrate a large codebase.
Do we have to suffer with excruciating compilation times until we are able to migrate to modules? Not at all!
If you are interested in learning about practical tools and techniques to improve compilation times on codebases of any size, today, this talk is for you! We will cover:
-
How to accurately benchmark the compilation time of a codebase and detect bottlenecks;
-
Enabling precompiled headers in CMake, leveraging the "reuse from" feature;
-
Automatically transforming your build into a "unity build";
-
When to selectively replace heavyweight standard library headers;
-
General techniques to reduce physical dependencies between components.