跳到主要内容

3 篇博文 含有标签「解析」

查看所有标签

2019 年 JavaScript 的成本

· 阅读需 14 分钟
Addy Osmani ([@addyosmani](https://twitter.com/addyosmani)),JavaScript 清洁工,以及 Mathias Bynens ([@mathias](https://twitter.com/mathias)),主线程解放者
备注

注意: 如果你更喜欢观看演讲而不是阅读文章,请欣赏以下视频!如果不是,请跳过视频继续阅读。

“JavaScript 的成本”由 Addy Osmani 在 #PerfMatters 2019 年大会上演讲。

极快的解析,第2部分:惰性解析

· 阅读需 16 分钟
Toon Verwaest ([@tverwaes](https://twitter.com/tverwaes)) 和 Marja Hölttä ([@marjakh](https://twitter.com/marjakh)),精简解析器

这是我们系列文章的第二部分,解释了 V8 如何以尽可能快的速度解析 JavaScript。第一部分解释了我们如何让 V8 的扫描器变得快速。

解析是将源代码转换为中间表示以供编译器(在 V8 中是字节码编译器 Ignition)使用的步骤。解析和编译发生在网页启动的关键路径上,而并非所有传递给浏览器的函数都会在启动过程中立即需要。尽管开发人员可以通过异步和延迟脚本推迟这类代码,但这并不总是可行的。此外,许多网页会传递仅用于某些特性的代码,而这些特性在单次运行页面时用户可能根本不会访问。

令人惊叹的快速解析,第1部分:优化扫描器

· 阅读需 12 分钟
Toon Verwaest([@tverwaes](https://twitter.com/tverwaes)),高效优化专家

为了运行JavaScript程序,需要对源代码进行处理,使V8能够理解它。V8首先将源代码解析为抽象语法树(AST),即表示程序结构的一组对象。这些AST随后会由Ignition编译成字节码。这些解析+编译阶段的性能很重要:V8在完成编译之前无法运行代码。在这一系列的博客文章中,我们专注于解析以及V8为实现快速解析器所做的工作。