The AST Galaxy to the Virtual Machine Blues
summary
Introduces an AST-based reusable optimization framework that uses astrogen to generate specialized C via subtree dispatchers, names AST subtrees with Merkle-hash subtree naming and relies on the system C compiler to inline and optimize. Builds ABRuby as a CRuby extension, implements AOT and profile-guided compilation, and reports Optcarrot results: YJIT ~4x faster, AOT ~1.7x faster than baseline, AOT build 23s and PGO 10s; prototype is produced in two weeks (one human + two AI) and cached runs are competitive with YJIT.
AI-written summary · about
chapters (10)
- 0:00Introduction to AST project
- 2:21Speaker introduction
- 3:04Ruby implementation history
- 8:29Partial evaluation concept
- 12:29Lightweight partial evaluation
- 15:41AST framework workflow
- 19:50Demo of a bit Ruby
- 22:32ABRuby implementation
- 26:35Running modes and benchmarks
- 29:29Future work and conclusion
related talks
27mASTro: An AST-based Reusable Optimization Framework
01h 12mOpening Keynote – Yukihiro 'Matz' Matsumoto
29mAutomatically Generated Supernodes for AST Interpreters Improve Virtual-machine P...
45mFuture of RubyVM
29mRuby Internals: A Guide For Rails Developers
17mAST vs. Bytecode: Interpreters in the Age of Meta-Compilation
20mEvaluating YJIT’s Performance in a Production Context: A Pragmatic Approach
49mKeynote: Simple goal. Hard to accomplish
