跳至主要内容

3 篇文章 含有標籤「parsing」

檢視所有標籤

2019年JavaScript的成本

· 閱讀時間約 14 分鐘
Addy Osmani([@addyosmani](https://twitter.com/addyosmani)),JavaScript清道夫,與Mathias Bynens([@mathias](https://twitter.com/mathias)),主線程解放者
備註

注意: 如果你比較喜歡觀看演講而非閱讀文章,請欣賞以下影片!如果不是,跳過影片繼續閱讀。

“JavaScript的成本” 由Addy Osmani在2019年的#PerfMatters大會中演講。

極速解析,第2部分:延遲解析

· 閱讀時間約 15 分鐘
Toon Verwaest([@tverwaes](https://twitter.com/tverwaes))和 Marja Hölttä([@marjakh](https://twitter.com/marjakh)),解析器專家

這是我們系列文章的第二部分,解釋了V8如何以最快速度解析JavaScript。第一部分解釋了我們如何讓V8的掃描器更快。

解析是把源代碼轉換為可供編譯器使用的中間表示的步驟(在V8中,是字節碼編譯器Ignition)。解析和編譯發生在網頁啟動的關鍵路徑上,而並不是所有的函數都在啟動期間立即需要。即使開發者可以用異步和延遲腳本來推遲這些代碼的執行,但這並非總是可行。此外,許多網頁會傳輸一些僅被某些功能使用的代碼,而這些功能可能在單個頁面加載過程中完全未被用戶訪問。

極速解析,第1部分:優化掃描器

· 閱讀時間約 11 分鐘
Toon Verwaest ([@tverwaes](https://twitter.com/tverwaes)),令人震驚的優化者

要運行一個JavaScript程序,需要對源代碼文本進行處理,以便V8能夠理解它。V8首先將源代碼解析為抽象語法樹(AST),這是一組表示程序結構的物件。該AST由Ignition編譯為位元碼。這些解析和編譯階段的性能非常重要:V8在編譯完成之前無法運行代碼。在這一系列的博客文章中,我們將重點關注解析以及V8為提供極速解析器所做的工作。