Evaluating Four Aspects of JavaScript Execution Behavior in Benchmarks and Web Applications

Martinsen, Jan Kasper

Grahn, Håkan

Isberg, Anders

Responsible organisation

Blekinge Institute of Technology, School of Computing

2011 (English)Report (Other academic)

Abstract [en]

JavaScript is a dynamically typed and object-based scripting language with runtime evaluation. It has emerged as an important language for client-side computation of web applications. Previous studies have shown differences in behavior between established JavaScript benchmarks and real-world web applications. However, there still remain several important aspects to explore. In this study, we compare the JavaScript execution behavior of four application classes, i.e., four established JavaScript benchmark suites, the first pages of the top 100 sites on the Alexa list, 22 different use cases for Facebook, Twitter, and Blogger, and finally, demo applications for the emerging HTML5 standard. Our results extend previous studies by identifying the importance of anonymous and eval functions, showing that just-in-time compilation often decreases the performance of real-world web applications, and a detailed bytecode instruction mix evaluation.