# basic

引擎之间存在一定的权衡，他就是在 **快速运行代码和花费更多时间但最终以最佳性能运行代码之间的一种权衡。**

## v8

* 解释器

v8的解释器是 **Ignition** 。<https://v8.dev/docs/ignition>

这货比较厉害，号称是所有引擎中最快的解释器(就原始字节码执行速度而言)，这货主要是负责生成和执行字节码。

* 优化编译器

v8的优化编译器是 **TurboFan** 。生成高度优化的机器代码。

## SpiderMonkey

这个和v8略有不同，他有两个编译器，他是在解释器(Interpreter)和优化编译器(IonMonkey)之间加了一层Baseline。(Baseline也是一个编译器)

这个解释器负责生成字节码，Baseline来生成代码(速度较慢)，IonMonkey需要更长的时间来生成机器代码(但是运行效率很高)。
