~/talk

Microbenchmarks performance in the smaller scale

Talkat JDD 2012 · 2012-10-25..10-26· [java]
speakerdeck:jkubrynski
slides:none on file

Simple System.currentTimeMillis checks lie: a billion-iteration loop can compile away and report 2 milliseconds because of JIT inlining, dead‑code elimination and OSR. JVM specifics matter — server JIT threshold about 10,000 invocations (client ~1,500), escape analysis, classloading and GC all change timing. Practical fixes shown: run many JVMs, warm up until printCompilation/printInlining stops, preload classes, and use frameworks like Caliper (but watch runMillis behavior). A hashmap demo yields ~23 ns with good hashes and ~23,000 ns with a bad hash, showing the real effect.

AI-written summary · about

  1. 0:00Introduction
  2. 2:33Microbenchmarks deceptive trust issues
  3. 5:01JVM internals and JIT basics
  4. 10:53JIT optimizations: inlining and escape analysis
  5. 17:40On-stack replacement and BCI explained
  6. 25:59Measuring time precisely in Java
  7. 28:09GC and class loading benchmark impacts
  8. 29:59Reliable benchmarking setup
  9. 33:17Warmup phases in Java benchmarks
  10. 36:59Benchmark best practices
  11. 38:05Microbenchmark tools: Caliper, JMH, Japex
  12. 40:40Live demo: Caliper benchmarking
  13. 47:01Summary
~/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.