Presented at O'Reilly Velocity 2015 in Santa Clara: http://velocityconf.com/devops-web-performance-2015/public/schedule/detail/42098
Analyzing the performance of large-scale JavaScript applications requires a distinct set of tools. It is no longer enough to run various benchmarks by creating loops and measuring the elapsed time. The amazing progress of modern JavaScript engines means that developers should not stress about outdated considerations such as cache array length, avoiding ‘switch’ statements, and using ‘while’ instead of ‘for.’ Understanding the inner workings of the engine itself will reveal the typical code patterns favored for maximum execution speed (short function, fixed object shape, profile-guided, garbage minimization). We will also cover the use of strategies like sampling and tracing, in order to spot performance issues while simultaneously avoiding being trapped in a local maxima.