现在的位置: 首页 > 综合 > 正文

chrome v8技术内幕一

2013年04月13日 ⁄ 综合 ⁄ 共 402字 ⁄ 字号 评论关闭

V8
技术分析一

作:whzeng@126.com

为什么V8
的速度比其他浏览器的JS
引擎快?以下将做一个大致的分析。只是个人的分析,可能有不正确之处,欢迎指正。

V8
执行JavaScript
的流程如下:

 

1
V8

处理JavaScript
流程

V8
执行过程分为两个阶段:编译阶段和执行阶段。

首先JavaScript
经过Compiler
将脚本转为抽象语法树(AST)
,然后在宏汇编器的作用下,将AST
的每个节点转化为机器相关的指令(
Intel
IA32
实现,ARM
arm
实现)
,最后交由CPU
直接执行这些生成的指令。


其他浏览器JS
引擎(Firefox)
在编译阶段和V8
类似,但是生成的指令不是机器相关的指令而是自定义的指令,因此导致在执行阶段需要解释执行。这也就是为什么V8
引擎的性能如此卓越的根本原因。


从根本上,V8
是包含了一个JIT
编译器,并且直接有CPU执行生成的体系结构相关的指令,因此才比其他引擎快。

 

抱歉!评论已关闭.