![]() |
|
![]() |
||
北京時間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。