~/talk

YJIT - Building a new JIT Compiler inside CRuby

Talkat RubyConf 2021 · 2021-11-08..11-10· [ruby]
slides:none on file

YJIT is a new JIT compiled into CRuby at Shopify that uses lazy basic block versioning and runtime value promotion to specialize machine code only for observed types. It targets Linux x86_64, adds about 300 MB of memory by default, lacks code GC and method inlining, and passes CRuby tests. Measured speedups include ~24% on railsbench, 3–5% in a small production rollout, and smaller or negative wins on short-lived tests or numeric-heavy workloads.

AI-written summary · about

  1. 0:00Start
  2. 3:15Language Compatibility
  3. 4:52Logic for Method Calls in Ruby
  4. 6:20Lazy Basic Block Versioning
  5. 9:07Tail Duplication
  6. 10:28Runtime Value Promotion
  7. 11:15The Jit Compiler for Python
  8. 13:07Performance
  9. 15:16Compatibility
  10. 19:34Expectations and Limitations
  11. 20:57Garbage Collector
  12. 24:36Future Plans
  13. 26:09Conclusion
~/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.