微軟于今日宣布了Edge瀏覽器Chakra JavaScript引擎的一些改進,它們將于下月隨著Windows 10年度更新一同到來。該公司稱,Chakra引擎旨在“打造在現(xiàn)實Web世界中更快的JavaScript、不斷提升Microsoft Edge瀏覽器的體驗”。今日提到的改進之一,是內(nèi)存優(yōu)化功能。微軟表示web腳本中有大量小型的功能,這對區(qū)分代碼重用性的開發(fā)者們來說相當常見。
微軟通過重構每個功能的元數(shù)據(jù)格式而解決了這個問題,舉例說,指向被很少使用的功能的指針,將被遷移至一個動態(tài)的輔助結構。
據(jù)微軟所述,大多數(shù)32位計數(shù)器幾乎很少提供超過256的數(shù)值。有鑒于此,大多數(shù)值都可只使用1個字節(jié)。(1字節(jié)=8比特,二進制的11111111等同于十進制的255)
其次,微軟還推遲了解析事件的處理程序。當你前往一個網(wǎng)站的時候,幾乎你無論做什么都會觸發(fā)一個事件。比如點擊了一個按鈕、文本框輸入、劃過一個鏈接等,都會觸發(fā)JavaScript代碼中的一個事件,告訴該網(wǎng)站該提供怎樣的反饋。
通常情況下,一個瀏覽器可在加載頁面時解析所有這些事件處理程序,但它們中有很多根本不會被用到,結果就是白白浪費資源。而在Windows 10年度更新中,Edge瀏覽器將能夠只實時解析在用的那部分。
上圖為在64位Windows 10 Insider Preview系統(tǒng)和64位瀏覽器上的測試比對結果,所使用的機器為戴爾Optiplex 7010,四核@2.9GHz的英特爾酷睿i5-3475S CPU + 4GB RAM。
有趣的是,微軟在較老的硬件上測試了新功能(英特爾第三代Ivy Bridge CPU,當前最新的是第六代的Skylake)。
今年1月份的時候,微軟開源了其Chakra JavaScript引擎,感興趣的網(wǎng)友可以移步至GitHub上的ChakraCore項目介紹頁。