How To Implement the C++ Standard Library - (Part 1 of 2)
summary
Part I lays out concrete steps: read the standardese not cppreference, use test driven development with assert-based unit tests for libstdc++/libc++, fuzz the API and run nightly integration builds against FreeBSD/Debian, enable address sanitizer and libstdc++ hardening to catch UB, measure regressions with micro and macro benchmarks plus PGO, prefer C++-first library implementations before compiler intrinsics, and watch surprising findings like the three-pointers-in-a-trench-coat vector vs size-int performance trade and how mandates vs requires change overload behavior.
AI-written summary · about
chapters (11)
- 0:00Introduction
- 1:33Core priorities
- 6:09Correctness through engineering
- 10:30Undefined behavior detection
- 20:50Hyrum’s Law in API design
- 27:34Performance beyond Big O
- 36:24Defining the Standard Library
- 43:47Standard Library ≠ headers
- 47:03Library as compiler extension
- 55:16Compiler diagnostics extensions
- 57:00Summary and Part 2
related talks
01h 29mWhat Does It Take to Implement the C++ Standard Library?
06mWhat Does It Take to Implement the C++ Standard Library? Follow-up: Mandates vs Constraints?
03mThe Beman Project: Testing C++ Library Proposals Before Standardization
31mBringing C++ 17 Parallel Algorithms to a standard library near you
19mQualification of the C and C++ Standard Libraries for Safety-critical Applications
01h 13mThe 10 Essential Features for the Future of C++ Libraries
01h 01mBack to Basics: Test-driven Development
01h 32mThe 10 Essential Features for the Future of C++ Libraries
