JavaScript Engines with Mathias Bynens

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

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.


Sponsors

Transifex is a SaaS-based localization and translation platform that easily integrates with your agile development process. Your software, websites, games, apps, video subtitles, and more can all be translated with Transifex. Use Transifex with in-house translation teams, language service providers, or even crowdsource your translations. If you’re a developer who is ready to reach a global audience, check out Transifex by visiting transifex.com/sedaily and sign up for a free 15-day trial.

The Algorithmia AI Layer deploys your models automatically in minutes, empowering data scientists and machine learning engineers to productionize their work with ease. It optimizes hardware usage and GPU acceleration and works with all popular languages and frameworks. Deploy ML models the smart way, and head to Algorithmia.com to get started and upload your pre-trained models. If you use the code SEDaily, we’ll top you up with 50,000 credits on us. Our expert engineers are available to help your team successfully deploy models to production with the AI Layer.

Digital Ocean is the easiest cloud platform to run and scale your application. Try it out today and get a free $100 credit–go to do.co/sedaily. Digital Ocean is a complete cloud platform to help developers and teams save time when running and scaling their applications.

Rookout Rapid Production Debugging allows developers to track down issues in production without any additional coding, re-deployment or restarting the app. Rookout is modern debugging. Insert Rookout ‘non-breaking breakpoints’ to immediately collect any piece of data from your live code and pipeline it anywhere. Go now to rookout.com/sedaily to start a free trial and see how much debugging time you can save.