Demystifying (JavaScript) engines
summary
Explains a concrete engine pipeline: parser → bytecode interpreter → baseline JIT → optimizing JIT, with named implementations and thresholds (SpiderMonkey: baseline then Ion/ionmonkey; V8: Ignition then TurboFan; JavaScriptCore: baseline at 100/6 then DFG at 1000/66 then FTL at 10,000; ChakraCore parallelizes compilation). Shows inline caches making deep prototype chains as fast as shallow ones, describes generational and incremental garbage collectors, reports that optimistic JITs close much of the gap versus C but benchmarks depend on workload and microbenchmarks mislead.
AI-written summary · about
chapters (10)
- 0:00Start
- 2:11The History of Javascript Engines
- 3:32An Execution Phase
- 4:41Adaptive Optimization
- 5:25Optimistic Optimizations
- 7:26Spidermonkey
- 11:45Optimizations
- 12:26Functioning Language
- 14:15Strategies To Implement Garbage Collecting Systems
- 16:14How Do You Measure the Overall Performance of any of those Javascript Engines
related talks
18mDemystifying JS Engines
21mDemystifying Javascript Engines
28mThe Past, Present and Future of JavaScript Engines
23mJavaScript Engines: The Good Parts™
25mJavaScript engines how do they even?
29mJavaScript Engines: How Do They Even?
30mHow a JavaScript engine works: learn to write optimizable JS
26mJavaScript VMs 101
