Just-in-Time Compilation
summary
Survey of papers and systems across 60 years names concrete claims, tools, and measured effects: polymorphic inline caching (median 11×, some reports 27×), packet filter DPF delivering 10–50× speedups, dynamic simulator Ambra running real workloads at ~3–9× slower than native (7–20× with cache models), binary translator FX!32 and Transmeta code‑morphing that run x86 on other ISAs, Dynamo transparently raising O0 binaries toward O4 performance, and practical systems like QEMU, Valgrind, HotSpot, WebAssembly with working deoptimization, OSR, and sandboxing.
AI-written summary · about
chapters (28)
- 0:00Introduction
- 0:55Definitions
- 1:58Is an interpreter legit
- 3:09Goals
- 5:32Alice in Wonderland
- 5:59JustinTime History
- 7:14How long is forever
- 8:30Space and time
- 9:06Four key benefits
- 13:24Back in time
- 18:10What you do matters
- 19:27DPF
- 21:06Exo Kernel
- 22:27Atom
- 23:50Ambra
- 27:04Dynamic Optimizations
- 28:59Dynamic Compensation System
- 30:58Compile Java
- 35:20Hotspot
- 40:50Just in Time
- 48:35QMU
- 50:07Valgrind
- 51:13JavaScript Tracespace
- 52:56Security
- 53:37Native Client
- 56:03Attacking Client Side Jib Compilers 2011
- 57:20EnScripting
- 58:14WebAssembly
related talks
01h 06mUtilize your CPU power
01h 09mComputer Architecture, C++, and High Performance
01h 04mCPU design effects
01h 50mUnderstanding Compiler Optimization
04mZero-Overhead Compiler Pessimization
01h 22mCostless Software Abstractions for Parallel Architectures
01h 05mThe Most Important Optimizations to Apply in Your C++ Programs
50mPart II: A Performance Analysis of a Trading System over Compliers
