Mozilla Rejects Native Code Approach of Chrome's NaCl
The Web Dev Zone is brought to you by Stormpath—offering a pre-built Identity API for developers. Easily build powerful user management, authentication, and authorization into your web and mobile applications. Download this Forrester report on the new landscape of Customer Identity and Access Management.
Google has obviously chosen to support web standards in addition to plugins like Flash (which is now embedded in Chrome) and the use of native code which harnesses modern hardware architectures (NaCl). Mozilla, on the other hand, believes that it can eventually match NaCl's performance with its JS engine and pure web technologies. Mozilla also refuses to bundle Flash with Firefox because they want to promote the pure-web standard approach. Blizzard said at the conference that Mozilla is now doing things that would normally only be done in native code.
With the Firefox 4 beta due any day now, users will get a chance to test Mozilla's new, more powerful JS engine for themselves. The JS engine will come with an extension to TraceMonkey (which specializes in tracing) called JaegerMonkey. This extension (based on Nitro JIT) should significantly improve performance when tracing is not possible. Tracing involves detecting code loops and converting them into assembly code.
Blizzard said that all of these techniques, and the technology yet to be created, should get Firefox close to native performance.