The current JSBench Suite is 2012.1. We will update this suite occasionally to add new pages or address bugs in JSBench. Results of this suite are not comparable to results of previous releases of the JSBench Suite.
To run this suite live in your current browser, click here.
To download it for offline use, click here. Not all included benchmarks can be run without a browser, and not all non-browser JS environment can run this benchmark suite. You will need to adjust either the suite or your environment to adapt; if the former, please contact Gregor Richards so that we may integrate your changes in further versions of the suite. Note that because not all included benchmarks can be run without a browser, the results from a non-browser run are not comparable to the results from a run in a browser.
The current benchmark suite includes code sampled from the following web pages:
Older versions of the benchmark suite are archived.
How does it work?
Why these sites?
There are three qualifiers for a site to be chosen for the JSBench suite: First, it must work well with the JSBench software. Unfortunately, as the process of record and replay will never be perfect, and unsupported sites are possible. Secondly, it must have exhibit enough behavior that the time spent in the site's code will overwhelm the time spent in the JSBench framework. Third, it must be a major web site, representative of the state of the web.
Why these browsers?
In principle any site can be recorded and replayed with any combination of browsers, but in practice differences can arise due to language incompatibilities between them. Firefox, Safari (WebKit), Chrome and Opera are generally selected for recording because sites typically present standards-compliant code to these browsers. Since all modern browsers are fairly standards complaint, this code will work on all of them. Internet Explorer is not used for recording because although Internet Explorer 9 and later are quite standards-compliant, many sites continue to present Internet-Explorer-specific code to this browser, which would fail on other browsers.
So which browser is best?
What do you mean by “realistic”? What makes the other benchmark suites unrealistic?
It is perfectly reasonable to wish to know an engine's performance on either style of code. Our claim is that the JSBench Suite is a more relevant measure of an engine's performance on real web pages and nothing more.
Acknowledgements and Credits
The JSBench tool and infrastructure is copyright © 2012 Purdue University, written by Gregor Richards, and released under the terms of the simplified BSD license. Sampled code is copyright by its respective owners.
The authors thank Ben Livshits and Ben Zorn at Microsoft Research for their input, discussions and feedback during the development of the JSBench tool, as well Brendan Eich, Andreas Gal and others at Mozilla for participating in and supporting its research and development, and Filip Pizlo of Apple for feedback. This material is based upon work supported by the National Science Foundation under Grant No. 1047962 and 0811631, by a SEIF grant from Microsoft Research and PhD fellowship from the Mozilla Foundation.