C++ Modules
summary
Implementation in GCC produces object files plus a binary module interface (BMI) and uses -fmodules-ts to read serialized interfaces; an experimental -fmodules-atom supports legacy header units and partitions that keep implementation private while exposing incomplete types. Global module pruning shrinks BMI bytes to kilobytes in practice. Build-order and dependency discovery become a real challenge (modules force ordered BMI generation), but Google/Clang experiments report roughly 2–4x compile-speed wins on the worst 10% of headers.
AI-written summary · about
chapters (16)
- 0:00Introduction
- 3:44Module Declaration
- 6:17One for One Files
- 7:13Build Speed
- 11:05Global Modules
- 13:07Building Modules
- 16:05Modular Header Files
- 17:25Atom Proposal
- 18:06Legacy Headers
- 20:43Modular Partitions
- 27:15TS
- 29:22Global Module Pruning
- 31:40Drive Compiler
- 33:05Adam
- 56:13Chandler
- 57:15John Lagos
related talks
01h 00mAdding C++ modules-ts to the GNU Compiler
01h 07mBuilding C++ Modules
01h 01mPractical C++ Modules
58mKnockin' on Header's Door: An Overview of C++ Modules
59m“There and Back Again: An Incremental C++ Modules Design"
01h 00mSo, you want to use C++ Modules ... cross-platform?
01h 28m2024 Update: C++ Modules - C++ Developers Get Started Today!
01h 10m“C++ Modules: The State of The Union"
