~/talk

Measure, don’t guess: benchmarking stories from the trenches

Talkat Devoxx Belgium 2024 · 2024-10-07..10-11· [testing]
links:none on file
slides:none on file

Shows concrete pitfalls and fixes: uses JMH harness plus perf and async-profiler to reproduce dead‑code elimination that reports absurd ops/sec, a black hole compiler-assist change that shifts timings by two orders of magnitude, and noisy‑neighbor runs that make error bars exceed 50%. Demonstrates monomorphic vs megamorphic dispatch costing roughly 2x, inlining limits (lowering inline depth causes ~10x slowdown), and CPU scaling traps; recommends many forks (≈10), warmups, and active benchmarking with counters and flame graphs.

AI-written summary · about

  1. 0:00Introduction and presenters
  2. 1:56Why benchmarking matters
  3. 15:34Why not write your own benchmark
  4. 37:51Dead code elimination pitfall
  5. 57:14Black hole taxonomy
  6. 1:03:00CPU scaling effects
  7. 1:15:17Noisy neighbor problem
  8. 1:26:43Type profile pollution
  9. 1:56:06Inlining optimization impact
  10. 2:09:08Recursive inlining example
  11. 2:16:44Branch prediction and hash collisions
  12. 2:39:56Key takeaways and conclusions
~/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.