Monday, August 25, 2008

Mozilla faster Web applications with Firefox 3.1

Mozilla: faster Web applications with Firefox 3.1
Firefox 3.1 will operate on many Web applications such as Gmail faster with the inclusion of a feature called TraceMonkey which dramatically speeds up programs written in JavaScript, Mozilla said Friday.

JavaScript has been widely used to add pizzazz or flexibility to Web pages over the years, but in recent years, it has also become the plumbing for many rich Internet applications. However, because JavaScript has been hampered by Pokey performance, Web applications often find it difficult to work as responsively as "native" software directly usable on a PC, writing and Web applications programmers have often turned to other options Such as Adobe Systems Flash and Flex.

Mozilla now hopes to shift the balance of power in favour of JavaScript.

"TraceMonkey is a project aimed at native code to JavaScript speed," said Mike Shaver, Mozilla's Vice President of Engineering, adding that JavaScript performance almost double compared to Firefox 3.0, SunSpider the basis of test JavaScript. The speed of many basic tasks, but it also makes editing of images and 3D graphics capabilities in JavaScript, he said.

On Thursday, Mozilla programmers TraceMonkey built in the last version developer of open-source web browser, and it will appear in the next test version published, which will probably be the first beta of Firefox 3.1, Shaver said. Firefox 3.1 is due in final form by the end of the year, although Mozilla is willing to let the timetable slip a bit, if necessary.


JavaScript execution speed can surf the Web snappier, so naturally it is a key element in the resurgence of the browser wars between Microsoft Internet Explorer, Mozilla Firefox, Apple Safari and Opera. "We recognize that everybody that the market is competitive again," says Shaver.

The SunSpider JavaScript test shows an increase of 83 percent, depending on programmer and JavaScript pioneer Brendan Eich, who has worked on TraceMonkey and blogged about this on Friday. However, this speed test is an artificial reference which is a perfect reflection of reality JavaScript applications such as Yahoo Zimbra's e-mail software.

Another illustration of TraceMonkey speed is a video editing photo. The contrast and brightness adjustments take about 100 milliseconds instead of over 700.

Shaver TraceMonkey discussed on its own blog.

TraceMonkey explained
TraceMonkey name is a cross between SpiderMonkey, Mozilla's current engine for interpreting JavaScript code, and a technique known as research developed at the University of California at Irvine by Andreas Gal and others. TraceMonkey Gal is the principal architect, said Shaver.

TraceMonkey is what we call a just-in-time compiler, a type of technology that solves the problem of conversion programs written by humans into instructions a computer can understand.

Most software running on the computers of people is already compiled in advance what is known as a binary file, but JavaScript is generally interpreted line by line, as it is created, a slower process. "We are reaching the end of what you can do with an interpreter," said Shaver.

A just-in-time compiler, however, that creates binary file on the fly as the code happens - when a person visiting a new Web page, and the browser encounter JavaScript, for example.

TraceMonkey focuses solely on the translation selected priority parts of the software. By tracking and recording the execution of JavaScript programs, TraceMonkey is repeated loops of activity where programs often spend much time. These loops actual behaviour of software are then compiled into instructions the computer can understand.

However, some compilers translate the entire program, a heavy mapping process that involves all possible ways the computer can take the code and try to understand who are the most important. Tracing technology, based on programme implementation, focusing on areas which are actually the computer.

"It allows us to concentrate our energies on optimizing the parts of the program is most important," said Shaver.

This means that the concentration TraceMonkey does not require much memory or a slow-loading plug-in, Shaver said. And it also means that it is preferable for mobile devices, one of the main focuses for Mozilla browser development.

There is still much work to be done to improve Web-based applications, though. Mozilla next priority is to improve the DOM - the document object model elements of Web browsers that are in charge of drawing and manipulating the Web page in general.

Although TraceMonkey is being built in the new version of Firefox 3.1 developer, it is off by default initially. "We did this because we want to obtain feedback wider," said Shaver.

Also in Firefox 3.1
Other significant changes will arrive in Firefox 3.1, Shaver said.

Support is to put a JavaScript programs. Threads are sequences of instructions, and newer multicore processors are able to execute several threads simultaneously. Software for the support that will result in programs JavaScript can perform certain tasks better background, "said Shaver.

Another integration of the ability to play music encoded with the format Ogg Vorbis and video encoded with the format Ogg Theora. These formats, while not as widely used or supported as rivals such as MP3, are free of constraints property such as patents, said Shaver, and can therefore be added to an open-source project such as Firefox .

"We are very pleased to be unused, really open-source video on the Web," said Shaver. The support also works on all operating systems supports Firefox.

Mozilla Firefox start more actively encouraging users to upgrade to the current version soon. In roughly the next two weeks, Firefox 2 users begin to get messages to upgrade to version 3, Shaver said.

Currently, when a copy of Mozilla Firefox 2 servers check to see if an upgrade servers not saying to move all the way to version 3, so that users must manually update .

"We are trying to do in the next two weeks," said Shaver. "The majority of users are still on Firefox 2."

No comments: