|
||||
北京时间8月26日消息,Mozilla日前表示,Firefox 3.1加入的TraceMonkey新功能,将大幅加快如Gmail等用JavaScript编写的网络应用程序执行速度。
近几年来,JavaScript被普遍用在许多具备桌面软件功能的网络应用程序上。
然而,JavaScript一直受陷于执行速度问题,网络应用软件的反应速度,就是不如直接安装在PC本身的软件。因此,制作网络应用软件程序设计师,经常改用其他选择,如Adobe Systems的Flash和Flex.
现在Mozilla希望扭转不利于JavaScript的局势。Mozilla的代理工程副总Mike Shaver说:TraceMonkey是一个赋予JavaScript原生程序代码速度的计划。他指出,根据SunSpider的测试结果,JavaScript在Firefox 3.1的执行速度比在Firefox 3.0快两倍。
Shaver表示。上周四(21日),Mozilla程序设计师将TraceMonkey加入最新一个开发者版Firefox,这项功能确定会纳入下一个测试版,也就是Firefox 3.1第一个beta.Firefox原订今年底完工,但若有必要,Mozilla愿意稍作延后。
JavaScript执行速度能让网络浏览更快速、更顺畅,对日渐升高的浏览器大战,自然有关键性的影响。Shaver说:我们和任何人一样警觉到,这个市场再度陷入竞争。
根据JavaScript先锋Brendan Eich的说法,SunSpider JavaScript测试显示速度提升了83%,但这项速度测试是人为的基准,无法确实反映出JavaScript应用程序,如雅虎Zimbra电邮软件的执行状况。另一段TraceMonkey速度的示范视频,显示照片编辑的对比和亮度调整,只需要100毫秒(过去要700毫秒以上)。
TraceMonkey的名称,是结合Mozilla现用的JavaScript翻译码引擎SpiderMonkey,与加州大学尔湾分校开发的追踪(trace)技术。加大计划的领导人是Andreas Gal.TraceMonkey是所谓的及时编译器,这种技术能将人类编写的程序,转换成电脑能了解的指令。
一般人电脑里的软件都已经先被翻译成所谓的二进位格式资料档,但JavaScript通常是在执行的当时才一行行地翻译,速度自然较慢。Shaver说:我们已经接近翻译器能力的极限。及时编译器是在程序码的接收作业中(如某人进入一个新网页,浏览器碰到JavaScript),就制作二进位格式资料档。
但TraceMonkey只专门翻译软件中高优先性的部分。利用追踪和纪录JavaScript程序的执行,TraceMonkey发现程式经常耗费很多时间执行的反覆活动循环,这些实际软体行为的循环,再被翻译成电脑能了解的原生指令。
相反的,有些编译器会翻译整个程序,耗时费工的画出电脑可能采取的所有路径,再找出最重要的。以程式实际执行状况为依据的追踪技术,只专心翻译实际需要电脑执行的部分。
Shaver说:它让我们的最佳化能量集中在程序最重要的部分。这也代表TraceMonkey不需要很多的内存空间,或慢慢地安装外挂程序。对Mozilla浏览器开发的另一个主要目标—移动装置,也有好处。
但网络应用程序仍有很大的改善空间,Mozilla下一个优先工作是改进DOM—负责描绘和操纵整个网页的文件物件模型。虽然TraceMonkey目前是内建在新的Firefox 3.1开发者版,其预设状态是关闭的。Shaver说:因为我们希望得到更广泛的意见。
Firefox 3.1还将包含其他重要的改变。其中之一是支持JavaScript程序线程。现在的多核心处理器可同时处理多个线程。Shaver说,软件支持代表JavaScript程序在多核心环境中执行某些工作,会有更好的表现。
另一项内建功能,是播放Ogg Vorbis格式音乐,和Ogg Theora格式影片。Shaver表示,这两种格式虽然不如MP3普遍,却没有专有软件的限制,如专利权,因此可以加入如Firefox这类开放源代码计划。他说:我们很高兴能为网络带来无障碍、真正开放源代码的影音。这项支援也适用所有Firefox支持的操作系统。
Mozilla将开始更积极地鼓励Firefox使用者换用最新的版本。Shaver说,未来两周内,Firefox 2使用者会开始收到升级第三版的信息。
目前,Firefox 2若进入Mozilla服务器检查更新,服务器不会直接建议升级第三版,因此使用者必须手动更新。Shaver说:我们预计未来两周内改变作法。大多数使用者还是在用Firefox 2。