~/talk

Throwing Tools at Ranges

Talkat CppNorth 2024 Β· 2024-07-21..07-24Β· [compilers-and-language-design]
slides:none on file

Three implementations (C-style, C++17 algorithms, C++23 ranges) run through Google Benchmark, Cachegrind and the Visual Studio profiler on Windows/WSL with GCC 14. Initial benchmarks: C-style ~23s, C++17 ~33s, C++23 much slower because a cartesian-product view is evaluated twice. Fixing by materializing the shared range into a container removes duplicate evaluation, halves runtime and cache misses, and leaves the C++23 version slightly faster than the C-style code.

AI-written summary Β· about

  1. 0:00Introduction and setup
  2. 2:27Development environment
  3. 4:02Code analysis methodology
  4. 7:51Implementing functional logic
  5. 23:00Google Benchmark overview
  6. 24:59Performance analysis with Cachegrind
  7. 35:52Visual Studio profiler demo
  8. 38:58Diagnosing lazy evaluation
  9. 44:22Code optimization results
  10. 51:31Conclusion and takeaways
~/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.