How Microsoft Uses C++ to Deliver Office - Huge Size, Small Components
summary
Office contains about 100M lines of native C++ inside a ~350M LOC repo and a ~50 TB release archive, and building every platform/arch/config requires 2 million compiler invocations. Engineering uses layered static libraries called liblets with enforced public headers, clang-based tooling that auto-validates dependencies by inspecting object files, and autogenerated mocks so components are unit tested. Migration work targets header units: 90 header units created, three low-level mso20 DLLs built, 40 header units consumed so far; work is ongoing.
AI-written summary · about
chapters (8)
- 0:00Microsoft Office C++ architecture
- 8:29Huge code base value
- 21:20Trade-offs of large code bases
- 21:46Liblets reduce code complexity
- 30:47Liblet design philosophy
- 48:48Liblet initiative success
- 50:33Header units for faster builds
- 57:39Q&A
related talks
57mMicrosoft w/ C++ to Deliver Office Across Different Platforms, Part II
46mHow to understand million-line C++ projects
35mMicrosoft is Getting Rusty: A Review of Successes and Challenges
36mUnleashing 🦀 The Ferris Within
49mC++ in Huge AAA Games
01h 06mImplementing C++ Modules: Lessons Learned, Lessons Abandoned
02h 02mIt's Complicated
01h 49mKeynote: What C++ is and what it will become
