V8 Profile Banner
V8 Profile
V8

@v8js

69,862
Followers
56
Following
77
Media
452
Statuses

Google’s high-performance open source JavaScript and WebAssembly engine. Our mission: enable developers to build a faster future web.

Joined July 2017
Don't wanna be here? Send us removal request.
@v8js
V8
5 years
🔥 Optional chaining syntax is coming to JavaScript! This feature enables readable and concise expression of property accesses with built-in nullish checking. @MayaLekova explains:
Tweet media one
97
2K
4K
@v8js
V8
4 years
V8 hits its long-awaited v8.0, now with optional chaining, nullish coalescing, faster higher-order builtins — oh and 40% less memory use thanks to pointer compression, no big deal. h8rs gonna h8, V8ers gonna V8 🔥🔥🔥
29
971
3K
@v8js
V8
6 years
Starting with Chrome 66, @v8js compiles JavaScript source code on a background thread, reducing main thread compile time up to 20%!
Tweet media one
8
682
2K
@v8js
V8
5 years
🚀 Top-level await makes it possible to use the `await` keyword outside of async functions in JavaScript modules! @mylesborins explains:
Tweet media one
19
474
1K
@v8js
V8
6 years
🚀 In Chrome 64 and Node.js v10, your JavaScript apps now continue execution while the @v8js garbage collector scans the heap to find and mark live objects! Free the main thread \o/
Tweet media one
13
544
1K
@v8js
V8
6 years
📣 V8 has native support for JavaScript code coverage. Tools like @ChromeDevTools and Istanbul can now access V8’s coverage information without instrumenting the code!
Tweet media one
10
555
1K
@v8js
V8
5 years
🔥 Nullish coalescing syntax is coming to JavaScript! This feature enables safer default expressions.
Tweet media one
16
261
776
@v8js
V8
6 years
🚀 Chrome 66 reduces parse and compilation time for JavaScript code by 20-40% during initial load.   How? V8’s code caching now also kicks in after top-level execution!
Tweet media one
1
306
726
@v8js
V8
5 years
🔥 Weak references and finalizers are (finally) coming to JavaScript! @_gsathya and @mathias explain:
Tweet media one
14
257
711
@v8js
V8
6 years
🎉 The V8 project has a new website: Just like V8 itself, we tried to make it fast and usable. Let us know what you think!
Tweet media one
Tweet media two
17
275
704
@v8js
V8
6 years
🔥 What’s new in ES2018? Let @bmeurer and @mathias walk you through major new JavaScript features:
Tweet media one
2
312
695
@v8js
V8
5 years
As of @v8js v7.3 / Chrome 73, all of these ES2019 features are available by default. Enjoy!
@mathias
Mathias Bynens
5 years
🎉 New JavaScript features in ES2019: ➡️ Array#{flat,flatMap} ➡️ Object.fromEntries ➡️ String#{trimStart,trimEnd} ➡️ Symbol #description ➡️ try { } catch {} // optional binding ➡️ JSON ⊂ ECMAScript ➡️ well-formed JSON.stringify ➡️ stable Array #sort ➡️ revised Function #toString
42
2K
5K
3
266
690
@v8js
V8
6 years
🚀 Faster and easier-to-debug async functions and promises are coming to V8 v7.2 & Chrome 72!   @MayaLekova and @bmeurer shed some light on the recent @v8js improvements:
Tweet media one
10
254
671
@v8js
V8
6 years
🎉 Debugging memory leaks using @ChromeDevTools just became much easier!   Find out what’s new:
7
282
659
@v8js
V8
6 years
Every single one of the new ES2018 language features is available by default in @v8js v6.4 and Chrome 64.
@mathias
Mathias Bynens
6 years
🎉 New JavaScript features in ES2018: - async iterators/generators - object rest/spread - Promise.prototype.finally - various RegExp features
13
759
1K
6
279
637
@v8js
V8
5 years
👻 Recently, React core hit a scary V8 performance cliff. Here’s a technical deep dive explaining what happened behind the scenes in V8, and how we fixed it!
Tweet media one
6
225
621
@v8js
V8
6 years
🔥 Jest reduced their test runner time by 20% by switching from plain JavaScript objects to Maps where it made sense. In general, don’t be afraid to use modern features! Focus on writing idiomatic code, and let JS engines worry about making it fast.
5
201
597
@v8js
V8
5 years
🔥 Emscripten is switching to the LLVM WebAssembly backend, resulting in… ➡️ much faster link times ➡️ smaller and faster code ➡️ support for all LLVM IR ➡️ new WebAssembly features ➡️ faster general updates from upstream LLVM @kripken explains:
3
185
541
@v8js
V8
4 years
Learn how we reduced our heap size by up to 43% in the deep dive of “Pointer Compression in V8”! 📉 🔥
6
158
492
@v8js
V8
5 years
🔥 What’s new in JavaScript and @v8js ? Check out @mathias and @_gsathya ’s #io19 presentation to find out!
Tweet media one
4
194
490
@v8js
V8
5 years
Orinoco (V8’s garbage collector) evolved from a sequential stop-the-world implementation into a mostly parallel and concurrent collector with incremental fallback. @hooraybuffer talks trash:
Tweet media one
10
202
476
@v8js
V8
3 years
static { console.log('🎉 JavaScript classes get dedicated syntax for static initialization!'); // Check out the feature explainer location.href = ''; }
5
124
469
@v8js
V8
6 years
🚀 V8 v6.9 includes Liftoff, a new baseline compiler for WebAssembly! Liftoff vastly reduces start-up time of WebAssembly applications with a simple and fast code generator.
Tweet media one
4
188
461
@v8js
V8
5 years
The dominant costs of processing JavaScript are: ➡️ download ➡️ CPU execution time @addyosmani on the cost of JavaScript in 2019:
Tweet media one
6
220
457
@v8js
V8
6 years
🎉 V8 v6.7 ships with BigInt support enabled by default!   BigInts are a new numeric primitive in JavaScript that can represent integers with arbitrary precision. @mathias walks through the functionality here:
Tweet media one
5
211
453
@v8js
V8
5 years
🔥 V8 v7.4 supports a JIT-less or “interpreter-only” mode, where JavaScript executes without allocating executable memory at runtime.
Tweet media one
9
170
452
@v8js
V8
3 years
🕚 WebAssembly SIMD will be shipped by default in Chrome 91. We have updated our SIMD feature explainer and added new instructions for feature detection, cross-compilation of code targeted for SSE/AVX/NEON to Wasm, and usage from Rust.
5
127
441
@v8js
V8
6 years
V8 v6.9 embeds built-in code into the binary’s `.text` section, reducing the median V8 heap size per website by 19%.
Tweet media one
7
153
430
@v8js
V8
3 years
V8, step back from the regex! Or maybe don't 😏 V8 now has an additional RegExp engine that can prevent many instances of catastrophic backtracking:
5
92
435
@v8js
V8
3 years
⚡ The more the merrier: we've added Sparkplug - a new non-optimizing JS compiler - in V8 v9.1 to improve performance on real-world pages by 5-15%. Let @leszekswirski take you on a tour:
16
148
433
@v8js
V8
3 years
📨 You can now import JSON directly from JavaScript. This works via a new import assertions feature - already in Chrome 91! Learn how to use it from this feature explainer by @dandclark1 from Microsoft:
4
142
426
@v8js
V8
5 years
🔥 What’s new in V8 v7.2? High-speed JavaScript parsing, faster async-await, reduced memory consumption on ia32, public class fields, and much more!
Tweet media one
2
181
416
@v8js
V8
7 years
The V8 project now has its own Twitter account. Follow @v8js for the latest updates from the world of JavaScript engines! 🚀
5
334
406
@v8js
V8
5 years
🔥 (Byte)code caching reduces the start-up time of commonly visited websites by caching the result of JavaScript parsing + compilation. How can JavaScript developers get the most out of @v8js code caching in @ChromiumDev ? @leszekswirski explains:
Tweet media one
9
169
409
@v8js
V8
3 years
How it started: 🐢 (...) How it's going: 🐇 Object.hasOwn(...)
6
66
397
@v8js
V8
5 years
🔥 V8 v7.2 / Chrome 72 greatly improves the performance of spread elements of the form [...x] or [...x, y, z]. Here’s how we did it:
Tweet media one
6
156
397
@v8js
V8
4 years
What’s in that .wasm? 🔍 Introducing: wasm-decompile! Read the contents of WebAssembly modules in a more friendly and familiar way.
3
128
394
@v8js
V8
5 years
🔥 As it turns out, NOT parsing is faster than parsing.   That’s why JavaScript engines implement a preparser which enables lazy parsing and compilation. Here’s how that works in V8:
Tweet media one
5
132
380
@v8js
V8
5 years
🔥 Regular expressions just got faster *and* more memory-efficient in V8:
Tweet media one
8
111
381
@v8js
V8
6 years
🔥 What’s new in JavaScript and @v8js ? Check out @mathias and @_gsathya ’s #io18 presentation to find out!
Tweet media one
15
144
373
@v8js
V8
6 years
Happy 10th birthday to @v8js and @ChromiumDev ! 🎂 Here’s an overview of how the @v8js project evolved during the last 10 years:
2
123
365
@v8js
V8
4 years
🚀 Atomics API gains ability to asynchronously wait on shared memory locations! In this new JavaScript feature explainer, @marjakh demonstrates how to use Atomics to implement a mutex with blocking and non-blocking modes.
Tweet media one
6
123
368
@v8js
V8
6 years
🔥 JavaScript engines: The Good Parts™ An overview of the key fundamentals that are common to all JavaScript engines (and not just @v8js !) by @bmeurer and @mathias :
Tweet media one
3
134
367
@v8js
V8
6 years
What’s new in V8 v6.9? Reduced memory usage through embedded built-ins, faster WebAssembly startup through Liftoff, better DataView and WeakMap performance, and much more!
Tweet media one
1
142
362
@v8js
V8
6 years
🔥 JavaScript engine fundamentals: optimizing prototypes ➡️ Why do some engines have 2+ optimization tiers? ➡️ Why not just optimize everything? ➡️ How do engines speed up classes? ➡️ Bonus: One Weird Performance Trick™ by @bmeurer & @mathias
Tweet media one
0
158
364
@v8js
V8
4 years
Logical &&= assignment ||= feature ??= explainer 🔥 In which @_shu shows how to use a new ECMAScript syntax for conditional assignments. (Experimental implementation is available in V8 v8.4 behind the --harmony-logical-assignment flag.)
Tweet media one
7
122
359
@v8js
V8
6 years
Array.prototype.sort is now stable in @v8js v7.0 / Chrome 70! 🎉 @nimODota explains how and why we made this happen:
1
102
340
@v8js
V8
5 years
🔥 What’s new in V8 v7.3? Wasm and async performance improvements, async stack traces, Object.fromEntries, String #matchAll , and much more!
Tweet media one
2
146
338
@v8js
V8
6 years
In JavaScript, Map/Set/WeakSet/WeakMap all use hash tables under the hood. @_gsathya recently boosted their performance by improving the way V8 stores the keys in hash tables:
Tweet media one
6
108
342
@v8js
V8
5 years
JavaScript gains first-class support for global substring replacement! 🔥 @mathias explains the new String.prototype.replaceAll API: (V8 v8.0 has an experimental implementation behind the --harmony-string-replaceall flag.)
3
106
336
@v8js
V8
6 years
What’s new in V8 v6.8? Reduced memory consumption and several performance improvements!
Tweet media one
4
123
317
@v8js
V8
3 years
🔍 JS arrays supported searching items for a while now via `.find` and `.findIndex` methods. However, they always return the first match. What if you want to find the last matching item instead? Now you can with `findLast` and `findLastIndex`!
5
65
311
@v8js
V8
4 years
WebAssembly brings SIMD support to the Web. What is it? @dptig and @tlively52 explain and demonstrate how to use it to run native code on the Web even faster! 🔥 (This feature is currently experimental and available under a flag.)
3
85
310
@v8js
V8
5 months
We shipped a new compiler named Maglev! It's a mid-tier "good enough, fast enough" compiler that improves our Speedometer score by some 5-6% while dropping power consumption by around 10%:
6
58
301
@v8js
V8
6 years
Lazy deserialization in @v8js reduces memory consumption by 500 KB per @GoogleChrome browser tab. 🔥 @jgruber explains how it works:
Tweet media one
1
94
291
@v8js
V8
7 years
🔥 The brand-new Web Tooling Benchmark helps identify & fix @v8js performance bottlenecks in Babel, TypeScript, etc.
Tweet media one
1
141
291
@v8js
V8
6 years
🎥 Video for @agoggel ’s @amsterdamjs presentation titled “ECMAScript Modules: Past, Present, and Future”:
Tweet media one
0
77
280
@v8js
V8
6 years
📢 Chrome 68 on Windows, Linux, Mac and ChromeOS supports SharedArrayBuffers again. Please note that Atomics.wake was renamed to Atomics.notify. More context in
Tweet media one
3
100
273
@v8js
V8
6 years
The implementation of the BigInt proposal for ECMAScript is almost feature complete in latest @v8js . 😎 And the performance of this baseline implementation looks very promising already! 🔥
Tweet media one
7
113
277
@v8js
V8
3 years
Why was an Error thrown? Just 'cause 🤷‍♂️ You can now chain errors via a new `cause` property to provide more context when they're re-thrown:
10
64
274
@v8js
V8
6 years
As webpack/V8/Node.js version numbers increase, build times decrease: TL;DR Regularly install updates 🚀
Tweet media one
2
96
271
@v8js
V8
5 years
🔥 What’s new in V8 v7.8? Streaming compilation on preload, WebAssembly C API, faster object destructuring and RegExp matching, and improved startup times!
4
97
272
@v8js
V8
5 years
Same great V8 t̵a̵s̵t̵e performance 🔥, now with 20% less s̵u̵g̵a̵r memory overhead ♻️.
Tweet media one
1
94
268
@v8js
V8
4 years
Understanding the ECMAScript spec, part 1: In this article, @marjakh explains how JavaScript built-ins are specified, and how to make sense of the spec text. 🔥
2
108
270
@v8js
V8
7 years
🚀 V8 now inlines closure allocations. The arrow-declare benchmark shows a 50% speed-up!
Tweet media one
5
117
265
@v8js
V8
4 years
JavaScript is now equipped with a new regular expression enhancement! @MayaLekova shows how it can be used for finding positions of matched groups. (This feature is available starting from V8 v7.9 behind a --harmony-regexp-match-indices flag.)
Tweet media one
0
97
258
@v8js
V8
5 years
🔥 One of the most underrated ES2019 features is “subsume JSON”, a.k.a. “JSON ⊂ ECMAScript”. It simplifies the language & enables interesting meta-programming use cases. JSON.stringify output can now be embedded as a literal within JavaScript programs!
4
83
255
@v8js
V8
5 years
WebAssembly code caching is a new optimization in Chrome and V8 that tries to avoid code compilation by caching the native code produced by the compiler. @BillB walks through the implementation and gives a few tips for WebAssembly developers:
2
89
254
@v8js
V8
6 months
WebAssembly now has direct support for GC! Read our new technical article to learn about how it works as well as what the team has been doing in this space both in V8 and in the toolchain:
5
84
256
@v8js
V8
6 years
🔥 DataViews are now as efficient as TypedArrays in @v8js v6.9, finally making DataViews a viable choice in performance-critical situations.   Here’s how we boosted DataView performance:
Tweet media one
8
93
248
@v8js
V8
3 years
⌚ Who's got the time to pass all the arguments to the function? We thought so too. V8 can now invoke functions with argument number mismatch even faster! 🚅 Learn how from a deep dive by Victor Gomes:
2
66
250
@v8js
V8
6 years
The @v8js and @ChakraCore teams share their secret to making sure your JavaScript runs fast in every browser:  Spoiler: focus on writing idiomatic, readable, and maintainable code.
0
128
246
@v8js
V8
5 years
👻 A year with Spectre: a V8 perspective   In which the V8 team details their analysis and mitigation strategy for Spectre, one of the top computer security issues of 2018.
5
120
241
@v8js
V8
6 years
🚀 The Chrome team welcomes Speedometer 2.0! gives an overview of the performance improvements we’ve made so far in Blink and V8 based on the new version of the Speedometer benchmark.
Tweet media one
2
90
237
@v8js
V8
3 years
🔥 V8 v9.6 ships support for WebAssembly reference types!
1
40
225
@v8js
V8
5 years
🔥 What’s new in V8 v7.7? Lazy feedback allocation, faster WebAssembly background compilation, stack trace improvements, and new Intl.NumberFormat functionality!
0
78
224
@v8js
V8
5 years
🔥 What’s new in V8 v7.4? Wasm threads/Atomics, private class fields, performance and memory improvements, and much more!
Tweet media one
1
99
218
@v8js
V8
4 years
🔥 You can now use up to 4GB of memory in WebAssembly applications - and beyond! Andreas Haas, Jakob Kummerow and Alon Zakai explain the work that went into Chrome (V8) and Emscripten to make this happen:
3
58
217
@v8js
V8
4 years
Tired of spending your time fixing C++ memory issues? 😫 📚 Learn how Oilpan provides a safe high-performance garbage collection for C++.
5
63
218
@v8js
V8
5 years
🎓 In this Chrome University talk, @_gsathya and @JakobKummerow explain how scripts are executed in @ChromiumDev . Learn how @v8js handles parsing, bytecode generation, interpretation, JIT compilation, and deoptimization:
Tweet media one
0
70
207
@v8js
V8
5 years
WasmBoy is a Game Boy Emulation Library for running ROMs in browsers and in Node.js, written in AssemblyScript. In this presentation, @torch2424 explains why WebAssembly’s predictable performance is the perfect fit for WasmBoy:
1
50
212
@v8js
V8
2 months
Iterator helpers are a collection of new methods on Iterator prototype that help in general use of iterators. V8 shipped these helpers in v12.2! Please check out for more information.
3
40
215
@v8js
V8
4 years
🔥 What’s new in V8 v8.4? Weak references and finalizers, improved WebAssembly start-up and debugging performance, and updated SIMD support.
3
80
209
@v8js
V8
6 years
V8 now uses a parallel Scavenger to garbage-collect the young generation. Find out what that means and why it’s better:
Tweet media one
3
84
205
@v8js
V8
3 years
🔥 What’s new in V8 v8.9? Top-level `await` enabled by default in Blink and performance improvements for calls with argument size mismatch.
2
58
201
@v8js
V8
3 years
🎯 Ever wanted to easily access items from the end of a collection? Well now you can! Check out the feature explainer for the new `.at()` method on arrays, strings and TypedArrays:
7
43
203
@v8js
V8
6 years
What’s new in V8 v7.0? WebAssembly threads, Symbol #description , and embedded built-ins on more platforms!
3
86
199
@v8js
V8
3 years
🔥 What’s new in V8 v9.0? RegExp match indices, faster super property access, inlined JS-to-Wasm calls and more!
4
48
195
@v8js
V8
6 years
🔥 Modern JavaScript idioms are good for performance! 📹 In this presentation, @sigurdschn explains why. 🚀 Widening the fast-path of TurboFan builtins
Tweet media one
1
77
194
@v8js
V8
4 years
🔥 What’s new in V8 v8.3? Faster ArrayBuffer tracking, bigger WebAssembly memories, bug fixes and API changes.
0
51
193
@v8js
V8
6 years
What’s new in V8 v6.6? Optional catch binding, extended string trimming, several parse/compile/runtime performance improvements, and much more!
Tweet media one
2
72
184
@v8js
V8
5 months
🎀 We may have been quiet on the V8 blog, but it's been a busy year for the V8 team! WasmGC, security work, two(!) new compilers, new JS and Wasm features, and even some V8-adjacent Chromium optimisations — with a 34% Speedometer score improvement overall:
3
34
188
@v8js
V8
4 years
Emscripten now supports a standalone mode, to better serve the various ways WebAssembly is being used outside of the Web. It enables building and using Wasm modules even in runtimes without JavaScript support.
4
72
188
@v8js
V8
4 years
🤔 How does V8 figure out which properties get to live on site and which ones have to work from home? A deep dive into the classic V8 internals:
Tweet media one
2
58
186
@v8js
V8
7 years
TurboFan now folds away calls like `Object(value)` when `value` is already a JavaScript object. This speeds up webpack v3-generated code.
@bmeurer
Benedikt Meurer
7 years
🗞️ New blog post "Object constructor calls in webpack bundles" with some background on the recent webpack findings
Tweet media one
3
58
189
1
56
180
@v8js
V8
4 years
🔥 What’s new in V8 v8.5? Promise.any, String #replaceAll , logical assignment operators, WebAssembly multi-value and BigInt support, and performance improvements!
1
60
173
@v8js
V8
6 years
What’s new in V8 v6.4? Better performance, reduced memory consumption, and new ECMAScript features!
2
87
174
@v8js
V8
1 month
🔒We've been working on a custom in-process sandbox for V8. Find out more about the motivation behind this project and its goals in our new blog post:
1
53
175
@v8js
V8
5 years
Let's [not] keep you in the dark anymore... Introducing dark mode for ! By default we're going to display the blog according to your system theme, but feel free to override the preference using a toggle in the footer. (h/t @tomayac )
Tweet media one
Tweet media two
9
36
172
@v8js
V8
3 years
💭 WebAssembly has support for 64-bit integers. But how can it communicate with JavaScript which traditionally couldn't even represent values this large? Learn from a new feature explainer by @kripken :
1
37
170