Chrome V8基本介绍

Posted 前端高级开发者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Chrome V8基本介绍相关的知识,希望对你有一定的参考价值。

Chrome V8

chrome v8也可以简单的说成v8, 是一个开源的javascript引擎, 它是由谷歌Chromium项目团队开发, 应用在chrome和基于chromium浏览器上. 这个项目由Lars Bak创建. V8引擎的第一个版本发行时间和Chrome的第一个版本发行时间是一样的: 2008年9月2号. 它同样也用在Couchbase, MongoDB和node.js上.

V8在执行javascript之前, 会将javascript编译成本地机器代码, 来代替更多的传统技术, 比如解释字节码或者编译整个应用程序到机器码, 且从一个文件系统执行它. 编译代码是在运行时动态的优化, 基于代码执行情况的启发式方式. 优化技术的使用包含inlining, 消耗运行时性能的elision, 还有inline caching.

V8 可以编译成 x86, ARM或者MIPS指令设置结构的32位或者64位版本; 同样他也被安装在PowerPC和IBM s390服务器上.


历史

V8的垃圾回收器是一个分代增量收集器. V8汇编是基于Strongtalk汇编. 在2010年12月7号, 一个新的编译部件Crankshaft发行, 改善了编译速度. 在2015, chrome41版本发行期间, 项目TurboFan添加到Chrome中, 加快了更多的速度, 比如asm.js

在2016年, Ignition解释器添加在v8中, 用于小内存的android设备, 减少内存的使用.
在2017年, V8装载了一个全新的编译管道, 由Ignition(解释器)和TurboFan(优化编译)组成. 在V8 5.9版本后, 所有代码生成和Crankshaft不再使用在V8的javascript执行中, 因为团队不会在javascript语言新的特点上去更新他们, 也不再优化他们必要的特性.


使用

V8的目的是使用在浏览器和一个标准的高性能引擎, 可以集成到依赖它的项目中. V8目前被使用在:

  1. Goole Crhome, Chromium, Opera, Vivaldi浏览器中.

  2. Couchbase数据库

  3. Nodejs运行环境

  4. Electron 软件框架, Atom和Visual Studio Code的底层构件


以上是关于Chrome V8基本介绍的主要内容,如果未能解决你的问题,请参考以下文章

Node.js基本介绍和服务端创建的入门案例

01-Node.js介绍

node程序的部署神器pm2的基本使用

基本示例的 V8 编译错误

浅析V8引擎,让你更懂JavaScript!

Node.js背后的V8引擎优化技术