跳到主要内容

文档

V8 是 Google 开源的高性能 JavaScript 和 WebAssembly 引擎,用 C++ 编写。它被用于 Chrome 和 Node.js 等。

本文档面向希望在其应用程序中使用 V8 的 C++ 开发者,以及对 V8 的设计和性能感兴趣的任何人。本文档将介绍 V8,而其余文档将向您展示如何在代码中使用 V8,并描述一些其设计细节,同时提供一组用于衡量 V8 性能的 JavaScript 基准测试。

关于 V8

V8 实现了 ECMAScriptWebAssembly,并运行在使用 x64、IA-32 或 ARM 处理器的 Windows、macOS 和 Linux 系统上。其他系统(IBM i、AIX)和处理器(MIPS、ppcle64、s390x)由外部维护,详见 端口。V8 可以嵌入到任何 C++ 应用程序中。

V8 编译并执行 JavaScript 源代码,负责对象的内存分配,并对不再需要的对象进行垃圾回收。V8 的全停顿(stop-the-world)、分代的、精确的垃圾回收器是其性能的关键之一。

JavaScript 通常用于浏览器中的客户端脚本,例如用于操作文档对象模型(DOM)对象。然而,DOM 通常并不是由 JavaScript 引擎提供的,而是由浏览器提供的。对 V8 来说也是如此 —— Google Chrome 提供 DOM。然而,V8 提供了 ECMA 标准中规定的所有数据类型、操作符、对象和函数。

V8 允许任何 C++ 应用程序向 JavaScript 代码暴露其自身的对象和函数。您可以自由决定希望向 JavaScript 暴露哪些对象和函数。

文档概述