Everyone wants their apps to be fast. However, it is not always clear how to get there. In this talk, we will dig into the internals of JavaScript engines to understand why performance is often so counterintuitive. What is a JIT, and how does it make my code fast? Where does it fall short? We will also discuss why you shouldn't trust micro-benchmarks and some better ways to measure real-world performance.