~/talk

Implementing C++ Modules: Lessons Learned, Lessons Abandoned

Talkat CppCon 2021 · on Monday, 2021-10-25· at 15:15· online· [rust]
links:none on file
links:none on file
slides:none on file

Implementation report gives concrete claims and working fixes: MSVC adds a persistent translation unit (IFC) on disk, linkers record strong module ownership so identically mangled names live in module buckets, and header-include vs module benchmarks show big wins — about 5× for header-units, 17.5× for importing std, up to 66.5× comparing all headers, and front-end optimizations drop a sample import from ~6s to 1.8s. Built features work; avoid relying on PCHs, prefer named modules and IFC-based tooling.

AI-written summary · about

  1. 0:00Start
  2. 1:27What Were the Modules Designed for
  3. 9:02Module Ownership
  4. 12:37Strong Module Ownership
  5. 15:03Odr Check
  6. 16:22Persistent Translation Unit
  7. 18:35External Linkage Symbols
  8. 19:30The Linker Map
  9. 24:57Header Units
  10. 31:15Named Modules
  11. 34:42Template Specializations
  12. 37:21Optimization Using Right Data Structures
  13. 40:57Partial Specializations
  14. 51:51Parsing C plus Plus Code
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.