跳到主要内容

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

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

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

V8发布版本v7.4

· 阅读需 8 分钟
Georg Neis

每六周我们会创建一个新的V8分支,作为我们发布流程的一部分。每个版本都会在Chrome测试版的一个里程碑前,从V8的Git主分支中分支出来。今天,我们很高兴地宣布我们的最新分支,V8版本7.4,它将处于测试阶段,直到几周后与Chrome 74稳定版同步发布。V8 v7.4充满了各种面向开发者的亮点功能。本文将概述一些即将发布的亮点功能。

无即时编译的 V8

· 阅读需 4 分钟
Jakob Gruber ([@schuay](https://twitter.com/schuay))

V8 v7.4 现在支持在运行时不分配可执行内存的情况下执行 JavaScript。

在默认配置中,V8 强烈依赖运行时分配和修改可执行内存的能力。例如,TurboFan 优化编译器会即时为热点 JavaScript (JS) 函数生成本机代码,而大多数 JS 正则表达式是通过 irregexp 引擎 编译成本机代码的。在运行时创建可执行内存是使 V8 快速的重要原因之一。

V8 发布 v7.3

· 阅读需 3 分钟
Clemens Backes,编译器管理者

每六周,我们会根据 发布流程 创建一个新的 V8 分支。每个版本的分支都会在 Chrome Beta 版本里程碑之前直接从 V8 的 Git 主分支中提取。今天我们很高兴地宣布我们最新的分支,V8 版本 7.3,它将在接下来几周与 Chrome 73 稳定版同步发布之前处于 Beta 状态。 V8 v7.3 为开发者提供了各种各样的新功能。本文提前展示了一些亮点。

垃圾话:Orinoco垃圾回收器

· 阅读需 13 分钟
Peter “垃圾” Marshall ([@hooraybuffer](https://twitter.com/hooraybuffer))

在过去的几年里,V8垃圾回收器(GC)发生了很大的变化。Orinoco项目将一个顺序的、全停式的垃圾回收器转变成了一个大部分并行和并发的回收器,具备增量回退功能。

V8 发布 v7.2

· 阅读需 5 分钟
Andreas Haas,陷阱处理者

每六周,我们会根据我们的发布流程创建一个新的 V8 分支。每个版本都在 Chrome Beta 的里程碑之前从 V8 的 Git 主分支分出。今天我们很高兴宣布最新的分支 V8 版本 7.2,其将在未来几周与 Chrome 72 稳定版同步发布。目前处于 Beta 状态。V8 v7.2 充满了各种面向开发者的好功能。这篇文章提供了即将发布的亮点预览。

加速展开元素

· 阅读需 9 分钟
Hai Dang 和 Georg Neis

在 V8 团队的三个月实习期间,Hai Dang 改进了 [...array], [...string], [...set], [...map.keys()][...map.values()] 的性能(当展开元素处于数组字面量开头时)。他还大幅加速了 Array.from(iterable)。本文将解释他所做的一些详细修改,这些优化从 V8 v7.2 开始生效。

更快的异步函数和Promise

· 阅读需 19 分钟
Maya Armyanova([@Zmayski](https://twitter.com/Zmayski)),永远等待的预测者,以及Benedikt Meurer([@bmeurer](https://twitter.com/bmeurer)),专业性能承诺者

JavaScript中的异步处理传统上被认为速度不是特别快。更糟糕的是,调试实时JavaScript应用程序——特别是Node.js服务器——并不是一件容易的事,尤其是异步编程。幸运的是,时代正在改变。这篇文章探讨了我们如何优化V8中的异步函数和Promise(也在一定程度上优化了其他JavaScript引擎),并描述了我们如何改进异步代码的调试体验。

V8 发布 v7.1

· 阅读需 4 分钟
Stephan Herhut ([@herhut](https://twitter.com/herhut)),克隆克隆者的克隆者

每六周我们会创建一个新的 V8 分支,这是我们发布流程的一部分。每个版本都会在 Chrome Beta 里程碑之前从 V8 的 Git 主分支分离出来。今天,我们很高兴宣布最新的分支:V8 版本 7.1,目前已进入 Beta 阶段,几周后将在与 Chrome 71 稳定版的协调发布中正式发布。V8 v7.1 包含各种面向开发者的好功能。本篇文章将提前预览一些亮点。

V8发布版本v7.0

· 阅读需 3 分钟
Michael Hablich

每六周,我们会根据发布流程创建一个新的V8分支。每个版本都会在Chrome Beta的一个里程碑之前,从V8的Git主分支分支而出。今天我们很高兴地宣布我们的最新分支,V8版本7.0,它将在几周内与Chrome 70稳定版协调发布之前进入Beta版。V8 v7.0充满了对开发者有吸引力的各种内容。本文旨在提供发布前的一些亮点预览。