SquirrelFish Extreme: Fastest JavaScript Engine Yet
September 19th, 2008After reading the WebKit SquirrelFish Extreme announcement, I figured it’s time to revisit the JavaScript engine / web browser race once again.
In short: SquirrelFish Extreme is fastest by a whopping 35% over its nearest competitor, making WebKit the fastest browser once again. Let’s see how the numbers come out.
SunSpider Benchmark Comparison of JavaScript Engines
SunSpider running from the command line (to ensure the test is as pure as possible) was used for this test. My test system is a 2.4GHz iMac.
These graphs are shown in runs per minute for clarity. Longer bars are better.
The raw timings are:
Detailed timings are linked above.
Of course, browsers are not purely executing JavaScript – DOM and rendering speeds are performance considerations as well. For this, we turn to Mozilla’s Dromaeo benchmark.
Dromaeo on Windows
As you can see, Firefox and WebKit smoke Google Chrome on this benchmark. WebKit comes out slightly ahead, so we need another benchmark to clear things up. Once again, Dromaeo, but on OS X now.
The full timings for these benchmarks are here:
- Google Chrome Nightly Windows – 13478.20ms (Total)
- Mozilla Firefox Nightly Windows – 7779.40ms (Total)
- Safari WebKit Nightly Windows – 7586.80ms (Total)
Dromaeo on Mac OS X
Full timings for these benchmarks are here:
- Firefox Nightly on OS X – 6648.20ms (Total)
- WebKit Nightly on OS X – 4387.20ms (Total)
- The Windows benchmarks ran on different test hardware from the Mac OS X and engine benchmarks.
Winner: WebKit + SquirrelFish Extreme
SquirrelFish Extreme wins this evolutionary cycle. Stay tuned for more coverage as Google, WebKit and Mozilla prepare their next moves.
Running your own SunSpider tests
Download and build WebKit trunk, Firefox trunk, and V8 trunk:
Building SquirrelFish Extreme: from JavaScriptCore,
make release
Building V8: scons sample=shell
Building Tracemonkey: from js/src, run make -f Makefile.ref BUILD_OPT=1
Run the SunSpider harness from WebKitTools/SunSpider:
SquirrelFish Extreme:
./sunspider --shell=../../WebKit/WebKitBuild/Release/jsc
V8: ./sunspider --shell=../../v8-edge/shell --args=-expose-gc
TraceMonkey: ./sunspider --shell=../../tracemonkey/js/src/Darwin_OPT.OBJ/js --args="-j"
Notes
Technorati Tags: WebKit, SquirrelFish, Apple, Google Chrome, V8, TraceMonkey, Mozilla Firefox, JavaScript, Browsers