~/talk

What Lies Beneath

slides:none on file

Tiny Java program is traced from source to bytecode to machine code and hardware; the template interpreter emits extra checks around integer division (special-case INT_MIN / -1) with assembly like XORing edx and register juggling, adding measurable overhead. Manual inlining helps a little, the JIT with inlining gives a huge win (score 178 → 3). Benchmarks use JMH plus perf and hsdis. A linked list shows ~4x slowdown vs primitive array because of one L1 cache miss per op and long memory-latency chains. Project Valhalla/value objects aim to fix this.

AI-written summary · about

  1. 0:00Intro
  2. 1:28Introduction Slide
  3. 1:43Unconferences
  4. 2:50Interaction Mechanism
  5. 3:05What Lies Beneath
  6. 4:05The Basics
  7. 5:01The Program
  8. 7:00The bytecode
  9. 13:49Template Interpreter
  10. 22:13Benchmark
  11. 22:52Improved code
  12. 23:17Profiler
  13. 24:46Inline
  14. 25:23Division
  15. 26:11Add
  16. 26:55Performance Difference
  17. 27:53Optimizations
  18. 28:22Running on Hardware
  19. 29:02Pooh Emoji
  20. 29:27Algorithmic Complexity
  21. 31:34Modern Machines
  22. 32:17Moores Law
  23. 33:50Memory Hierarchy
  24. 36:21Stride Prefetching
  25. 37:01Stripe Prefetching
  26. 37:53ObjectOriented Programming
  27. 39:32Arrays
  28. 40:05Translation Buffer
  29. 41:09Cache Friendly
  30. 41:24JMH
  31. 42:44Linked Lists
  32. 43:38Cache Misses
  33. 44:22Cache Levels
  34. 46:34Conclusions
~/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.