Stay up to date with technical aspect of programming 👉 https://links.aschen.tech/ (Or on LinkedIn)
I gathered these various resources about Javascript interpreters and V8 in particular by preparing a conference on understanding how Javascript engines work.
Dates:
- 2020 - Node.js Global Summit - Remote/Vietnam - Understand Javascript engines
- 2022 - Sunnytech - Montpellier - Comprendre le fonctionne d'un moteur Javascript
We use theses informations everyday at Kuzzle to develop our scalable open source backend to offer the best performances to our users.
Link to the slides: https://docs.google.com/presentation/d/13AHi75kKZPM74pBLc9zg3s5hBkFSIiM3z_yqwRx7C8E/edit
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
❓❓ If you have any question, you can fill an issue on this repo and I will try to answer you the best I can 👉 New Question
Another repository with a lot of articles about Javascript Engine workflow: https://github.com/fraxken/VM-Resources
- What is the Event Loop? by Node.js developers - 2022 (archive)
- Faster async functions and promises by Maya Armyanova (v8) and Benedikt Meurer (v8)- 2018 (archive)
- Closures optimizations & reducing object size by Petka Antonov (Bluebird) - 2019 (archive)
- Various Tricks to Optimize JS Code by Paul Ryan (Alligator) - 2019 (archive)
- Javascript Types and effect on Hidden Classes by Benedikt Meurer (v8) and Mathias Bynens (v8) - 2019 (archive)
- Hidden Classes and Inline Cache Explanation by Benedikt Meurer (v8) and Mathias Bynens (v8) - 2018 (archive)
- Prototype Chain Explanation by Benedikt Meurer (v8) and Mathias Bynens (v8) - 2018 (archive)
- Slack Tracking and Backing Store by Michael Stanton (v8) - 2020 (archive)
- Fast vs Slow Properties by Camillo Bruni (v8) - 2017 (archive)
- How Closures Works by Logan R. Kearsley - 2019 (archive)
- Closures Compilation and Allocation by Bergi - 2016 (archive)
- Closure Context and Closure Chain by Davic Shariff (Amazon) - 2013 (archive)
- Are Arrow Function Faster by Mathias Bynens (v8) - 2019 (archive)
- Interpreter and Compiler: hidden classes, inline caching, polymorphism and megamorphism by Rainer Hahnekamp - 2018 (archive)
- Interpreter Just-In-Time by Alvin Wan (LogRocket) - 2019 (archive)
- Ignition Design Document by rmcilroy@ and oth@ - 2016
- Turbofan Speculative Optimization by Benedikt Meurer (v8) - 2017 (archive)
- Ignition Presentation by Ross McIlroy (Google London)
- Inline Caches with Monomorphism, Polymorphism and Megamorphism by Vyacheslav Egorov - 2015 (archive)
- Inside JavaScript Engines, Part 1: Parsing by Yan Hulyi - 2022 (archive)
- Sparkplug — a non-optimizing JavaScript compiler by Leszek Swirski - 2021 (archive)
- Node.js Runtime Options List - 2019 (archive)
- ESlint sort-keys rule
- Indicium - System Analyzer by Zeynep Cankara - 2020 (archive)
- Differences between Traditional interpreter, JIT compiler, JIT interpreter and AOT compiler by Jörg W Mittag - 2015 (archive)
- Micro Benchmark Issues by jmrk (v8) - 2019 (archive)
- Micro Benchmark Fairy tale by Vyacheslav Egorov - 2012 (archive)
- Exploring v8 performance characteristics in Node by David Mark Clements - 2016 (archive)
- Understanding Ignition Bytecode by Franziska Hinkelmann (Google) - 2017 (archive)
- Notes and resources related to v8 and thus Node.js performance by Thorsten Lorenz - 2018 (archive)