Mozilla Unleashes TraceMonkey For Firefox

The project aims at enhancing Mozilla's JavaScript engine and speeding up the rendering and response times of the Web browser.
In a move to make Firefox more competitive with desktop applications and proprietary graphics technology like Microsoft Silverlight and Adobe Flash, Mozilla on Friday released TraceMonkey, a project that adds native code compilation to SpiderMonkey, Mozilla's JavaScript engine.

Mozilla has included TraceMonkey in an alpha version of Firefox 3.1, the next major release of the open source Firefox Web browser. TraceMonkey is off by default, because it's not entirely bug-free. But when it's more stable and enabled, Firefox's JavaScript should get faster "by an order of magnitude or more," as Mozilla CTO Brendan Eich put it in a blog post.

"If you're doing something like image processing, we can demonstrate six to seven times speed-ups and we can probably double those," Eich said in a phone interview. "If you're doing a tight [programming] loop that's just manipulating bits, you can go 20 to 40 times faster."

TraceMonkey was built with the help of UC Irvine research scientist Andreas Gal, using a technique called "trace trees."

Mike Schroepfer, VP of engineering at Mozilla (soon to leave for Facebook), has posted a screencast demo that shows how TraceMonkey makes image editing done through Firefox competitive with dedicated image editing applications, at least in terms of the responsiveness of the user interface.

"What we're trying to do is extend the capability of the browser," said Eich, adding that graphics applications and games in particular stand to benefit from improved JavaScript performance. "Not everyone wants to get a plug-in," he said.

Improving browser performance is necessary to provide an open source alternative to proprietary rendering technologies. "If browsers are only doing JavaScript and doing it slowly, we worry that content will migrate to closed platforms like Silverlight," said Eich.

Mozilla's support for the canvas graphic-rendering element in the HTML 5 specification and the Ogg video format also reflects this goal.

If Mozilla is successful in its efforts, the rationale for developing rich Internet applications will become increasingly questionable. As Eich sees it, RIAs are already at risk. "Those platforms that are not a browser are an increasingly thin value-add to what the browser can do," he said.

Eich said that when Google launched Google Maps and found that it was done without plug-ins, they were stunned. He expects that ongoing browser performance improvements will usher in similarly surprising applications.

Firefox 3.1 should be ready before the end of the year, Eich said.