V8 internals for JS developers
summary
Shows that small, concrete V8 facts change choices: arrays have element kinds like packed SMI elements vs holey double elements, transitions only go downward, holes force prototype lookups and slow everything. Chrome moved to Ignition + Turbofan (Chrome 59+) and progressively folders in per-kind optimizations. Debug builds of d8 expose kinds via %DebugPrint. Preallocating new Array(9001) creates holes; pushing keeps arrays packed but triggers about sixteen reallocations from the initial 16-slot buffer.
AI-written summary · about
chapters (8)
- 0:00Start
- 2:03Array Indexes
- 8:47Bounce Check
- 13:00Fine and Find Index
- 20:01Array like Objects
- 21:10Arguments Object
- 21:57Arrays
- 24:30Recap
related talks
28mV8 internals for JavaScript developers
23mV8 Internals for JS Developers
24mDemystifying V8 and JavaScript Performance
23mJoin the super secret V8 club & become a JavaScriptbender
22mHigh Performance JS in V8
33mJavaScript: The V8 Engine optimization tips (...)
27mThe Life of a JavaScript Feature in V8 ft. TypedArrays
01h 00mV8 Under the Hood
