Institute for Software Research
School of Computer Science, Carnegie Mellon University


Instrumenting V8 to Measure the Efficacy of
Dynamic Optimizations on Production Code

Michael Maass, Ilari Shafer

March 2013


Keywords: JavaScript, virtual machine, dynamic optimization, measurement, instrumentation

As JavaScript has risen to dominance as the language of the Web, popular web browsers have responded by introducing a variety of compilers designed to optimize JavaScript speed. Public one-upmanship has played out between these browsers on the basis of performance on a few benchmarks. Surprisingly, how well JavaScript compilers fare on real-world web applications has received little concerted attention.

Here, we study the impact of the widespread V8 JavaScript compiler in six scenarios using a new testing framework. We find that the benefit of optimization in a number of realistic scenarios is small—and sometimes even harmful. Classic optimizations used in static compilers fare poorly, and the time taken to do compilation is a prominent factor. Our findings highlight the importance of better benchmarks, and suggest more real-world targets in optimization than many optimization approaches have examined.

18 pages

Return to: SCS Technical Report Collection
School of Computer Science

This page maintained by