What Does It Take to Implement the C++ Standard Library?
summary
Explains concrete engineering choices: unit tests, fuzzing, full integration tests by rebuilding OS packages (arranged to use the target stdlib), and sanitizers like AddressSanitizer plus hardened asserts to catch precondition violations; measures performance with LTO and profile-guided optimization and A/B benchmarks. Calls out a concrete design tradeoff: a usual three-pointer representation versus a size-based vector layout that benchmarks faster under LTO+PGO but causes an ABI break (use via an unstable ABI). Advises reading the C++ working paper, not cppreference, for mandates and preconditions.
AI-written summary · about
chapters (7)
- 0:00Introduction
- 5:16Engineering practices for correctness
- 28:16Optimizing performance in the standard library
- 43:31Contributing to libC++ and clang
- 55:34Compiler and standard library relationship
- 1:03:43Compiler extensions for diagnostics
- 1:16:43Q&A session
related talks
57mHow To Implement the C++ Standard Library - (Part 1 of 2)
06mWhat Does It Take to Implement the C++ Standard Library? Follow-up: Mandates vs Constraints?
03mThe Beman Project: Testing C++ Library Proposals Before Standardization
01h 37mC++ And Beyond: Discussion
59mSoftware Engineering Is About Tradeoffs
19mQualification of the C and C++ Standard Libraries for Safety-critical Applications
01h 32mThe 10 Essential Features for the Future of C++ Libraries
01h 13mThe 10 Essential Features for the Future of C++ Libraries
