2010 · 138 citations · 14 references
JavaScript is ubiquitous in web applications, and recent browser wars have focused on performance claims derived from benchmark suites such as SunSpider and V8. This study evaluates the runtime behavior of JavaScript in commercial web sites and compares it with that of standard benchmarks. The authors measured two aspects of JavaScript execution—function and code characteristics, and event‑driven handlers—to assess differences. Benchmarks fail to capture key real‑world behaviors such as event‑driven execution, instruction‑mix similarity, cold‑code dominance, and short functions, suggesting the need for more representative benchmarks.
JavaScript is widely used in web-based applications and is increasingly popular with developers. So-called browser wars in recent years have focused on JavaScript performance, specifically claiming comparative results based on benchmark suites such as SunSpider and V8. In this paper we evaluate the behavior of JavaScript web applications from commercial web sites and compare this behavior with the benchmarks. We measure two specific areas of JavaScript runtime behavior: 1) functions and code and 2) events and handlers. We find that the benchmarks are not representative of many real web sites and that conclusions reached from measuring the benchmarks may be misleading. Specific common behaviors of real web sites that are underem-phasized in the benchmarks include event-driven execution, instruction mix similarity, cold-code dominance, and the prevalence of short functions. We hope our results will convince the JavaScript community to develop and adopt benchmarks that are more representative of real web applications.
14
Colin Goodall, Ian T. Jolliffe · Technometrics · 1988 · 8.7K citations
David Ungar, Randall B. Smith · 1987 · 903 citations
An analysis of the dynamic behavior of JavaScript programs
Gregor Richards, Sylvain Lebresne, Brian R. Burg et al. · 2010 · 354 citations
Trace-based just-in-time type specialization for dynamic languages
Andreas Gal, Brendan Eich, Mike Shaver et al. · 2009 · 339 citations
Quantifying Behavioral Differences Between C and C++ Programs
Brad Calder, Dirk Grunwald, Benjamin G. Zorn · 1994 · 172 citations