Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save thlorenz/71b66e8bae710f62922808fba23641ee to your computer and use it in GitHub Desktop.
Save thlorenz/71b66e8bae710f62922808fba23641ee to your computer and use it in GitHub Desktop.
[tallk] Understanding why the new V8 is so Damn Fast, One Demo at a Time

Understanding why the new V8 is so Damn Fast, One Demo at a Time

Abstract

The entire V8 compiler architecture as well as large parts of the Garbage Collector where updated recently. TurboFan replaced Crankshaft, Orinoco now collects garbage in parallel whenever possible. Node.js v8 shipped with this new and improved version of V8. As a result we can finally write idiomatic and declarative JavaScript without worrying about incurring performance overhead due to JavaScript compiler shortcomings.

At least this is what the V8 team tells us. In this talk we will explore if and why this is true, one demo at a time.

Outline

In order to update the v8-perf repository which I maintain to provide information and resources around Node.js and V8 performance I took a few weeks to dig into blog posts by the V8 team and read V8 source code changes. The resulting pull request is currently being reviewed by members of the V8 team and other experts in the field.

In my talk I will explain what changed and how it affects the performance of JavaScript we write.

In order to keep things interesting, each detail will be presented via a live demo using tools I extracted from V8 itself, like the turbolizer and the V8 map processor as well as custom tools like deoptigate which I am creating specifically for Node.js developers trying to understand how optimal V8 runs their JavaScript code.

Additionally we will explore some flags that V8 exposes in order to gain insight into how our code is being transformed and executed.

Thus attendees not only learn about how the latest changes affect the performance of their applications, but also how to go about measuring it.

Why

The performance metrics of JavaScript run with Node.js changed quite dramatically and it is important for developers to understand what changed and how. Lots of information is available on the topic, but it is difficult for most to gain a complete picture and to decide what is hype and what is actually true.

By explaining the latest improvements and backing each up with a live demonstration I will give the attendees confidence when examining how their applications where affected, what guide lines to follow when writing new applications and tools to measure for themselves which strategies result in improved performance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment