~/talk

Moving to C++20 for Fun, Beauty... and Results!

Talkat CppNorth 2023 · 2023-07-17..07-19· [compilers-and-language-design]
links:none on file
slides:none on file

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

  1. 0:00Introduction and motivation
  2. 3:19Speaker background
  3. 5:04Project setup and data generation
  4. 16:06Sequential processing with Singleton
  5. 23:32Concurrent analysis with thread pool
  6. 34:07Refactoring to C++20 features
  7. 45:50Improving function interfaces
  8. 53:37Modernizing thread synchronization
  9. 57:28Generators and performance
  10. 59:13Benchmarking C++20 changes
  11. 1:00:38Conclusion and Q&A
~/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.