Compilers: The Next Frontier in Web Performance
summary
History names closure compiler and YUI as concrete optimizers that remove dead branches and inline calls and bytecode minifiers that cut bytes but not parse cost, while measurements show 170 KB takes ~3.5 s to download then ~2 s to parse and ~0.5 s to execute, and templates commonly form 25β40% of app code. Building a template compiler that emits Glimmer VM bytecode and shipping its runtime as WebAssembly (Rust compiled) replaces JS parse work with a typed array load and yields meaningful startup improvements.
AI-written summary Β· about
chapters (38)
- 0:00Introduction
- 0:37Who am I
- 1:02What is a compiler
- 1:34The browser
- 2:02The history of compilers
- 2:51Jasmine and Yui Compressor
- 4:07ES4 Life Death
- 5:07The Enlightenment
- 6:11JavaScript
- 6:27Closure Compiler
- 8:13Todays Tools
- 9:07Todays Problems
- 10:25JavaScript Startup Time
- 11:58Glimmer VM
- 12:21Ember MVC
- 13:25Ember Templates
- 13:47Angular Templates
- 16:39Valid Templates
- 16:52declarative templating
- 17:24what is an opcode
- 18:52Constants pool
- 20:08Virtual Machine
- 20:44Fetch API
- 21:12Virtual Machine Visualization
- 22:53Open Element
- 23:27Flush Element
- 23:47Text Element
- 24:09Close Element
- 24:19Return
- 24:46GlimmerVM
- 24:59WebAssembly
- 25:32WebAssembly Properties
- 26:55WebAssembly Performance
- 27:43C Rust
- 28:32Domainspecific languages
- 29:03WebAssembly in Glimmer VM
- 29:50WebAssembly in Ember
- 31:01Conclusion
related talks
28mCompilers: The New Frontier In Web Performance
28mLa nouvelle vague
34mBuild-time Optimizations in JavaScript Applications
32mBuilding a High Performance JavaScript Compiler
34mPanel Discussion: Browsers & Wasm
29mExtreme JavaScript Performance
29mThe Return of 'Write Less, Do More'
46mTurbocharging Client-Side Processing: Leveraging asm.js
