Moving to C++20 for Fun, Beauty... and Results!
summary
A reduced real system moves from C++17 to C++20 and replaces boilerplate and temporary containers with ranges views and span interfaces, uses three-way comparison to synthesize relational operators, and adopts formatting and stop coordination with stop_token/latch. The prototype creates pieces in ~5s, runs sequential diagnosis ~40s, and does concurrent deep analysis ~0.5s, totaling ~46s under C++17; C++20 cuts allocations and copies (removing two intermediate containers in one pipeline) and improves clarity and throughput, while coroutines prove slower for this workload.
AI-written summary · about
chapters (11)
- 0:00Introduction and motivation
- 3:19Speaker background
- 5:04Project setup and data generation
- 16:06Sequential processing with Singleton
- 23:32Concurrent analysis with thread pool
- 34:07Refactoring to C++20 features
- 45:50Improving function interfaces
- 53:37Modernizing thread synchronization
- 57:28Generators and performance
- 59:13Benchmarking C++20 changes
- 1:00:38Conclusion and Q&A








