Reusing Just-in-Time Compiled Code
summary
An experimental JIT called Ř is extended to record compiled functions into a persistent curated code repository and later replay matching versions to skip recompilation, improving warmup times while preserving peak performance. Evaluation on R benchmarks and a six‑version package test suite shows biggest gains on early iterations and a slow decay as code evolves; about ≈50% of compiled fragments are bit‑for‑bit equivalent across runs. The prototype uses speculative contextual dispatch to pick versions and demonstrates practical warmup reductions.
AI-written summary · about
chapters (10)
- 0:00JIT compilation waste
- 1:27SH compiler workflow
- 3:37SH Plus: Recording compiled code
- 5:04Benchmarking SH Plus savings
- 6:51Safe code reuse across programs
- 7:33JIT compiler speculative code
- 11:51Cross-program reuse contexts
- 14:17Reusing compiled code with changes
- 16:23Key findings and optimizations
- 17:29Conclusion
related talks
26mAn Analysis of Compiled Code Reusability in Dynamic Compilation
28mCopy-and-Patch Just-in-Time Compiler for R
28mReducing Feedback Pollution
16mContextual Dispatch for Function Specialization
40mJoy of Meta-Tracing Just-in-Time Compilation: More Than Just a VM Generator
30mAn Incremental Approach to JIT Construction
20mBYOJ: Build your own JIT with Ruby
01h 04mJust-in-Time Compilation: The Next Big Thing?
