In 2007, the WebKit developers at Apple (News
- Alert) introduced a new benchmark suite, SunSpider, and, like all benchmarks, it has been both criticized and widely used as a test baseline for gauging Javascript performance. SunSpider was developed to address certain key concerns Apple had in gauging Web development – for instance, how Web apps behaved and real time statistics analysis.
Though it is an older piece of software by Internet standards (five years), the development team believes it still has life to it. The original goal of the software was to measure how a JavaScript engine can perform a variety of tasks and determining how effective they could be.
The suite competes in the same space as Mozilla's (News - Alert) Kraken and Google-introduced Octane. Despite some problems, SunSpider has its uses, for instance, it excels at Date, String and Regexp performance and on the things like eval and for/in syntax, which makes JavaScript a challenging language to optimize.
With version 1.0, the developers have decided to address some issues that have appeared over the benchmark's short lifetime. In version 1.0, there are no new features. Javascript optimizers have reached a point where much code in a benchmark could easily be eliminated as "dead code." To address this and ensure the entire test is run, 23 of the 26 SunSpider tests have had validation checks added to them so that all of the test's code is run and checked for correct running.
The developers updated power management. They have completely eliminated the delay between tests – that delay had been reduced from 500ms to 10ms in SunSpider 0.9.1, but testers were witnessing power management effects with even that small a delay. This means that tests can run twice as fast.
SunSpider 1.0 is now available to use for testing and for comparison, older versions are also still available online. SunSpider source code can be found in the WebKit PerformanceTests directory.