This post explains our recent effort to improve JSON.stringify performance| v8.dev
Faster JavaScript calls by removing the arguments adaptor frame| v8.dev
The V8 team believes that it is time to retire Octane as a recommended benchmark.| v8.dev
This post explains two new optimizations in V8 for WebAssembly: speculative call_indirect inlining and deoptimization support for WebAssembly| v8.dev
This article explains how V8 improved JavaScript proxies performance.| v8.dev
V8 v6.9 features reduced memory usage through embedded built-ins, faster WebAssembly startup through Liftoff, better DataView and WeakMap performance, and much more!| v8.dev
Explicit compile hints control which JavaScript files and functions are parsed and compiled eagerly| v8.dev
Why V8 decided to move away from Sea of Nodes and go back to CFG instead| v8.dev
V8 now supports BigInts, a JavaScript language feature enabling arbitrary-precision integers.| v8.dev
Adding mutable heap numbers to script context| v8.dev
V8 v7.4 features WebAssembly threads/Atomics, private class fields, performance and memory improvements, and much more!| v8.dev
This article introduces three optimizations that lay the groundwork for a new garbage collector in V8, codenamed Orinoco.| v8.dev
This article discusses optimizations that were implemented between Chrome 41 and Chrome 46 which significantly reduce garbage collection pauses, resulting in better user experience.| v8.dev
Chrome 41 hides expensive memory management operations inside of small, otherwise unused chunks of idle time, reducing jank.| v8.dev
The V8 team has developed a new methodology to measure and understand real-world JavaScript performance.| v8.dev
This article details some upcoming changes to the JavaScript Promise Integration (JSPI) API.| v8.dev
V8 features a lightweight, in-process sandbox to limit the impact of memory corruption bugs| v8.dev
We explain the start of the origin trial for JSPI| v8.dev
V8 has its own abstraction on top of assembly code: the CodeStubAssembler. The CSA allows V8 to quickly and reliably optimize JS features at a low level, all while supporting multiple platforms.| v8.dev
V8 v6.9 bridges the performance gap between DataView and equivalent TypedArray code, effectively making DataView usable for performance-critical real-world applications.| v8.dev
Static Roots makes the addresses of certain JS objects a compile-time constant.| v8.dev
With the Ignition interpreter, V8 compiles JavaScript functions to a concise bytecode, which is between 50% to 25% the size of the equivalent baseline machine code.| v8.dev
V8's impressive accomplishments in 2023| v8.dev
V8's newest compiler, Maglev, improves performance while reducing power consumption| v8.dev
(Byte)code caching reduces the start-up time of commonly visited websites by caching the result of JavaScript parsing + compilation.| v8.dev
This technical deep-dive explains how V8 optimizes operations on arrays behind the scenes, and what that means for JavaScript developers.| v8.dev
This article describes how V8 chooses optimal in-memory representations for various JavaScript values, and how that impacts the shape machinery — all of which helps explain a recent V8 performance cliff in React core.| v8.dev
This technical deep-dive explains how V8 handles JavaScript properties behind the scenes.| v8.dev
V8 v7.4 supports JavaScript execution without allocating executable memory at runtime.| v8.dev
A recent article on WebAssembly Garbage Collection (WasmGC) explains at a high level how the Garbage Collection (GC) proposal aims to better support GC languages in Wasm, which is very important given their popularity. In this article, we will get into the technical details of how GC languages such as Java, Kotlin, Dart, Python, and C# can be ported to Wasm. There are in fact two main approaches:| v8.dev
In V8 v9.1 we’re improving V8 performance by 5–15% with Sparkplug: a new, non-optimizing JavaScript compiler.| v8.dev
The dominant costs of processing JavaScript are download and CPU execution time.| v8.dev
This blog post discusses the plans to implement control-flow integrity in V8.| v8.dev
Orinoco, V8’s garbage collector, evolved from a sequential stop-the-world implementation into a mostly parallel and concurrent collector with incremental fallback.| v8.dev
This document explains the WebAssembly tail calls proposal and demonstrates it with some examples.| v8.dev
This document introduces JSPI and provides some simple examples to get you started in using it| v8.dev
V8 reduced its heap size up to 43%! Learn how in “Pointer Compression in V8”!| v8.dev