初探js各大引擎之v8
以前没有自己写过js引擎任何的研究文章,最近一直在做前端性能优化的研究,今天在看各大js引擎优化细节相关的文档中看到了这些名词。
?
简单记录一下吧。
?
?
?
---------------V8
?
1. ? 下面的内容是查阅自维基百科
?
V8是一个由丹麦Google开发的开源JavaScript引擎,用于Google chrome。Lars Bak是组长,v8在执行之前将JavaScript编译成机器码,而非字节码或者是直译,以此提升性能。更进一步,使用了如内联等方法来提高性能。V8组译器是基于Strongtalk组译器。
?
2. ? 关于Lars Bak
?
--其实从1988年就开始参与虚拟机的开发,在1991年的时候参与了Self虚拟机的开发,到1997年Java HotSpot引擎技术的lead,同时也开发了高性能的Java ME虚拟机。所以其实在v8出来的时候,大哥已经在这个领域研究了20年。所以有的人说v8到现在还是最NB的引擎。
?
3. ? V8的特性简单介绍:
--来自官方http://code.google.com/intl/zh-CN/apis/v8/design.html
主要包含3个:
?
?快速属性访问(Fast Property Access)?动态机器码生成(Dynamic Machine Code Generation)?高效的垃圾收集(Efficient Garbage Collection)?? 这边我侧重说一下这个Efficient Garbage Collection