Javascript V8引擎

442 阅读1分钟

      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)