~/talk

Benchmarking JavaScript

Talkat GOTO Chicago 2015 · 2015-05-11..05-14· [javascript]
slides:none on file

Shows concrete cases where microbenchmarks mislead: a manual inlining causes a 10x slowdown, a GS/Perf string split turns out to be an empty-loop artifact, and prototype/getter benchmarks flip an 8x result because old V8 behavior is different. Uses the IRHydra inspector and d8 standalone v8 runs to read V8 IR, find optimizer passes, and demonstrate deoptimizations that produce a 3x slowdown or an 18% loss that a code-pattern workaround restores. Concludes: verify with real code and inspect IR, not headlines.

AI-written summary · about

  1. 0:00Intro
  2. 0:34Complexity
  3. 3:58Benchmarking
  4. 9:09Browsers
  5. 11:25Compiler
  6. 13:14Loop invariant
  7. 14:53Dead code elimination
  8. 16:29How to write smarter benchmarks
  9. 17:47Loop unrolling
  10. 18:31Micro benchmarks vs VMs
  11. 18:47How benchmarks find bugs in VMs
  12. 20:32What happened with my patented blaze
  13. 20:47The Tool
  14. 22:29Interesting Mode
  15. 24:07Constant Fault
  16. 24:25Fix
  17. 25:03presumption of innocence
  18. 25:32jumping to conclusions
  19. 27:56note
  20. 28:26speed test
  21. 28:49light
  22. 29:04twice
  23. 29:21multiple optimized versions
  24. 29:52tags
  25. 32:31counter
  26. 32:55desert
  27. 33:10benchmark
  28. 34:11method call speed
  29. 34:35no function benchmark
  30. 36:33function call benchmark
  31. 39:33dont benchmark things
  32. 40:08back in v8
~/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.