v8引擎是一种js引擎的实现
JavaScript引擎是执行JavaScript代码的程序或解释器。javaScript引擎可以实现为标准解释器或即时编译器,它以某种形式将JavaScript编译为字节码。
V8是被设计用来提高网页浏览器内部JavaScript执行的性能,那么如何提高性能?
V8使用C++开发,并在谷歌浏览器中使用。在运行JavaScript之前,相比其它的 JavaScript的引擎转换成字节码或解释执行,V8将其编译成原生机器码(IA-32, x86-64, ARM, or MIPS CPUs),并且使用了如内联缓存(inline caching)等方法来提高性能。有了这些功能,JavaScript程序在V8引擎下的运行速度媲美二进制程序
为了提高性能,V8会把js代码转换为高效的机器码,而不在是依赖于解释器去执行。V8引入了JIT在运行时把js代码进行转换为机器码。这里的主要区别在于V8不生成字节码或者任何中间代码
性能改进
1、指针压缩
因为高位可以由低位合成,只需要将唯一的低位存储到堆中即可节省内存资源,经过测试,平均节省了 40% 的堆内存。
2、优化高阶内置程序
此版本消除了 TurboFan 优化管道中的一个限制,该限制阻止了对高阶内置函数的优化。
3、 JavaScript
(1)Optional Chaining(可选链)
(2)null 合并(Nullish Coalescing)