Mozilla turbocharges Firefox, touts major speed gains

'TraceMonkey' JavaScript interpreter set for upcoming Firefox

Mozilla Corp. said on Friday that it has added the fruits of a two-month JavaScript turbopower project to the latest preview of its next browser, Firefox 3.1, which boosts some benchmark speeds by nearly 40 times over those of Firefox 3.0.

The new Mozilla JavaScript interpreter is also about 2.4 times faster than the newest interpreter slated for Apple Inc.'s Safari, according to benchmark tests.

Dubbed "TraceMonkey," the revamped JavaScript engine will make possible Web-based applications that are today too sluggish to be acceptable, said Mike Shaver, Mozilla's interim head of engineering. "We're making JavaScript disappear as far as performance is concerned," said Shaver, who pointed out a photo-editing demonstration that his predecessor, Mike Schroepfer, put together to show off TraceMonkey's speed.

"One example is to use the browser as a very simple Photoshop," said Shaver. "[Editing an image requires] things that, for each step, take the better part of a second. That's not a great user experience. But [with TraceMonkey], now you have something that comes close to interactive performance."

In his blog on Friday, Shreopfer posted a video that showed side-by-side comparisons between Firefox 3.0 and Firefox 3.1 with TraceMonkey. Users can also run the simple application themselves using Firefox 3.0 or the latest version of 3.1.

For the moment, TraceMonkey has been disabled in Firefox 3.1, which is currently in alpha stage and is slated to reach beta next month, but the faster JavaScript engine will be turned on at some point. "We are planning for it to be there in Firefox 3.1," said Shaver. "It won't have all the capabilities, there's more than a couple of months of work left, but we are targeting 3.1."

Mozilla has tentatively set the ship date of a finished Firefox 3.1 for late this year or early 2009.

Shaver and Brendan Eich, Mozilla's chief technology officer and the creator of JavaScript, both posted TraceMonkey's benchmark results on their blogs Friday. Eich, for example, noted that TraceMonkey's scores on SunSpider were between 1.8 and 37.5 times faster than those of Firefox 3.0, which itself boasted faster JavaScript speeds than its predecessors.

Shaver acknowledged that benchmarks don't tell the whole story, but he remains confident that users will find Firefox 3.1 with TraceMonkey much faster. "There's still a lot of room for improvement to benchmark JavaScript," he said. "[But] as an application developer, the only benchmark you care about is how [your application] runs."

Mozilla's goal with TraceMonkey is to push JavaScript execution speeds closer to that of applications written in native code, such as compiled C++ code. "There's no theoretical reason why it can't be as sharp and approach native code speeds in two to four years," Shaver predicted.

TraceMonkey is based on a technique developed at University of California, Irvine called "trace trees," and it builds on code and ideas shared with the open-source Tamarin Tracing project. Shaver credited Eich; Andreas Gal, a project scientist at UC Irvine; David Anderson, a summer intern; and others for their work on the fast-track project.

"We really started work on this 51 days ago," Shaver said Friday. Gal, who took a summer leave of absence from UC Irvine, received particular kudos. "He was like an intern on steroids," Shaver said.

Other browser developers, especially those working on WebKit, the open-source browser engine used in Apple's Safari, have bragged this year of making significant speed improvements in JavaScript execution. In June, for instance, WebKit programmers announced a new JavaScript interpreter, code-named "SquirrelFish," that it said was 1.6 times faster than the interpreter used in the current Safari 3.1 browser.

"We can't affect the performance of other browsers," said Shaver when asked why Mozilla didn't do side-by-side comparisons with other browsers' JavaScript interpreters as it touted TraceMonkey. "All browsers have improved their JavaScript speed. We focused on our tests."

Shaver said he was sure that others would dive into comparative tests. That was an easy prediction, because also on Friday, Mason Chang, a graduate student at UC Irvine who worked with Gal, put the interpreters head-to-head. "If you do the aggregate speedup, which is the speedup for each test divided by the number of tests, it is about 2.4x faster," said Chang, who posted results from WebKit's own SunSpider benchmark test suite.

The Firefox 3.1 builds with TraceMonkey included but disabled can be downloaded from Mozilla's developer site.

Copyright © 2008 IDG Communications, Inc.

7 inconvenient truths about the hybrid work trend
Shop Tech Products at Amazon