JavaScript Engines with Mathias Bynens
Podcast: Play in new window | Download
Subscribe: RSS
JavaScript performance has improved over time due to advances in JavaScript engines such as Google’s V8. A JavaScript engine performs compiler optimization, garbage collection, hot code management, caching, and other runtime aspects that keep a JavaScript program running efficiently. JavaScript runs in browsers and servers. The resources that are available to a JavaScript engine vary widely across different machines.
JavaScript code is parsed into an abstract tree before being handed off to the compiler toolchain, in which one or more optimizing compilers produce efficient low-level code. In recent shows about WebAssembly, we have covered compiler pipelines. In an episode about GraalVM, we explored the impact that “code shape” has on the efficiency of JavaScript execution.
Mathias Bynens is a developer advocate at Google working on the V8 JavaScript engine team. In today’s show we explore how a JavaScript engine works, and how compiler toolchains can adapt the hot code paths depending on what code needs to be optimized for.
Show Notes
- The Modern Javascript Tutorial
- Modern JavaScript Explained For Dinosaurs – Node.js Collection – Medium
- Mathias Bynens
- V8 (@v8js) | Twitter
- V8 JavaScript Engine
- JavaScript engine fundamentals: Shapes and Inline Caches · Mathias Bynens
- JavaScript engine fundamentals: optimizing prototypes · Mathias Bynens
- Mathias Bynens (@mathias) | Twitter
- Hidden classes in JavaScript and Inline Caching
- Design Elements · v8/v8 Wiki
- How JavaScript works: inside the V8 engine + 5 tips on how to write optimized code
- JavaScript Engines: The Good Parts™ – Mathias Bynens & Benedikt Meurer – JSConf EU 2018
Transcript
Transcript provided by We Edit Podcasts. Software Engineering Daily listeners can go to weeditpodcasts.com/sed to get 20% off the first two months of audio editing and transcription services. Thanks to We Edit Podcasts for partnering with SE Daily. Please click here to view this show’s transcript.