~/talk

Optimizing ruby core

Talkat RubyConf 2016 · 2016-11-10..11-12· [ruby]
slides:none on file

Implements a deoptimization engine in Ruby 2.4 that overwrites iseq bytecode in place (memcpy of an iseq_copy) to enable on‑the‑fly optimizations while preserving program counter and VM state. Uses a global VM timestamp to detect redefinitions, applies constant folding, send elimination and local variable elimination, and keeps the implementation pure C for portability. Benchmarks show many cases slightly slower but some workloads speed up dramatically (reported up to 400× and common gains around 10×); Rails shows no net win yet.

AI-written summary · about

  1. 0:00Introduction
  2. 1:00Overview
  3. 1:28Fastest language
  4. 2:56Not optimized
  5. 3:41Variations
  6. 4:03Optimization
  7. 5:20Diagram
  8. 6:54Implementation
  9. 7:11Advantages
  10. 7:57Timestamp
  11. 8:16Implementation bitlong
  12. 9:19Implementation stackframe
  13. 9:45Summary
  14. 10:03Optimizations
  15. 11:28Inline implementation
  16. 13:09Not always possible
  17. 15:59Purity
  18. 17:50Vm
  19. 18:12Anson
  20. 19:02Assignments
  21. 19:36Libraries Analysis
  22. 20:29Summarize
  23. 21:01Benchmark
  24. 24:17Conclusion
  25. 24:41Future optimization
  26. 25:20Questions
~/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.