Mozilla turbocharges Firefox 3.1

Mozilla has added the fruits of a two-month JavaScript turbo power project to the preview of its forthcoming browser, Firefox 3.1, that boosts some benchmark speeds by nearly 40 times over Firefox 3.0.

By
Gregg Keizer, Computerworld (US)
| Aug 26, 2008

| IDG News Service

Share

TwitterFacebookLinkedInGoogle Plus

Mozilla has added the fruits of a two-month JavaScript turbo power project to the preview of its next browser, Firefox 3.1, that boosts some benchmark speeds by nearly 40 times over Firefox 3.0.

The new Mozilla JavaScript interpreter is also about 2.4 times faster than the newest interpreter slated for Apple'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, the company'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 strut 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, takes 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."

Shreopfer posted a video that showed side-by-side comparisons between Firefox 3.0 and Firefox 3.1 with TraceMonkey on his blog Friday. 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 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 Firefox 3.0, which itself boasted improved JavaScript speed.

Shaver acknowledged that benchmarks don't tell the whole story, but remains confident that users would 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 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 Irvin, 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, codenamed "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 was sure that others would dive into comparative tests, an easy prediction, because also on Friday, Mason Chang, a graduate student at UC Irvine who worked with Gals, 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.4 x faster," said Chang, who posted results from WebKit's own SunSpider benchmark test suite.