Firefox 9中加入類型推斷 JS性能將提升20%到30%

webphp 13年前發布 | 7K 次閱讀 Firefox

據外媒報道,在歷時長達18個月的努力之后,Mozilla終于成功為Firefox的Javascript引擎增加了一個重大的新特性,根據初步 測試,至少可以提高20%到30%的Javascript性能。這個新的特性就是在Firefox的JaegerMonkey JIT編譯器中加入的類型推斷(Type Inference),它將隨同Firefox 9一起提供測試。類型推斷最早被提及還要追溯到幾個月之前的Firefox 5時代,但是直到現在它才第一次登上舞臺。

如果你是一名web程序員,那你一定會被此震撼!如果你并不太熟悉技術,那么這里有一個對類型推斷的簡單介紹。

在每個編程語言中,變量和函數都有一個類型。類型可以是整數、字符串、浮點數、數組、類……這些內部結構對于編程語言的編譯器來說至關重要。有一些 語言是強類型語言,也就是說程序員必須為每個類、函數和變量都定義一種類型;這有點煩人,但是作為回報它將大大提高運行速度;另外還有一些語言,像 Javascript,是弱類型語言,也就是說程序員不必擔心這些瑣碎的細節問題,可以隨心所欲的編寫代碼而讓編譯器來背起這個重擔。而類型推斷則彌補了 強類型語言和弱類型語言之間的鴻溝,你可以繼續按照弱類型語言的習慣編寫代碼,但瀏覽器會根據使用情況對類型做出最優化的假設,從而依然可以獲得性能上的 提升。

Firefox 9中加入類型推斷 JS性能將提升20%到30%

對于Firefox 9來說,數據推斷引擎可以將Javascript的性能提高30%。具體提升的數值根據測試的不同而有所不同,但性能的大大提升是毋庸置疑的。據 ExtremeTeck在配置為Intel i7 930 @ 3.8GHz、內存6GB、顯卡為Nvidia GTX 460的電腦上測試結果,在關閉類型推斷的情況下,Kraken Benchmark的完成時間為3895毫秒;開啟類型推斷之后,時間縮短到2763毫秒。在V8 Javascript Benchmark中,關閉類型推斷的Firefox 9的成績為6075分,而開啟類型推斷后,成績提升到6585分。即使在陳舊的微軟HTML5 Sudoku測試中,10000格下類型推斷將執行時間從2.6秒縮短至1.62秒;在FishBowl的幀率測試中,2000條魚的情況下,類型推斷開啟后帶來了15%-20%的性能提升。

Firefox 9中加入類型推斷 JS性能將提升20%到30%

Firefox 6,也就是你現在使用的瀏覽器,它的Javascript引擎基本上和Firefox 9相同,除了沒有類型推斷。所以基本可以說,在執行Javascript上,Firefox 9比現在的瀏覽器將要快30%。

最后,在你安裝運行Firefox 9 Nightly之前,我們要提醒的是在當前的版本中類型推斷仍有可能造成某些腳本速度變慢——64位版本應該沒問題,但32位版本可能會有些問題。時間上,Firefox 9會在九月底到達Aurora頻道。

 

ExtremeTech原文地址:http://www.extremetech.com/computing/94532-firefox-9-javascript-performance-improved-by-20-30-with-type-inference

文/HiWebGL

 本文由用戶 webphp 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!