Inspecting Performance Characteristics of Node.js with Deoptigate and N|Solid

On Demand

Last year, Node.js version 8 shipped with a new and improved version of V8, which means developers can finally write idiomatic and declarative JavaScript without having to worry about causing performance bottlenecks. This is mainly due to the fact that V8 overhauled its entire compiler pipeline, and now features the Ignition interpreter and Turbofan compiler.

Tools like IrHydra, which allowed developers to investigate optimizations and deoptimizations to their code in earlier versions of V8, stopped working when these changes were released, since they depended on the inner workings of V8 and how it outputs diagnostics information.

NodeSource Senior Engineer Thorsten Lorenz researched these major changes to V8 in detail by reviewing its source code, as well as blog posts written and published by the V8 team.To help fill the gap in tooling support for the new V8 version, Lorenz built deoptigate.

deoptigate is designed to provide insight into why optimizations/deoptimizations of functions occur, and why they became poly- or megamorphic. This level of detail in turn can guide developers in making the changes necessary to allow V8 to run JavaScript at peak performance.

In this webinar, Thorsten Lorenz will first show how to identify performance bottlenecks using tools that are available for free, like NodeSource's N|Solid. Next, he’ll walk through the process of fixing a bottleneck step-by-step using the detailed insights provided by deoptigate.


Thorsten Lorenz

Senior Engineer at NodeSource

Thorsten is a Jazz musician turned developer and is excited about Node.js and its community.

The fast turnaround from idea to working module has proven addictive for him and led to lots of modules which ended up on github and/or npm. He also contributes to other awesome open source efforts like browserify to which he added source map support.

Lately he has been focusing on understanding the Node.js stack in more depth, focusing on libuv and v8. He's most interested in improving the debuggability and inspectability of Node.js.

View the Recording

*Required: Webinar access will be emailed to you. The information you provide will be used in accordance with the terms of our privacy policy.