chrome v8 引擎
1,从输入URL到生成DOM树
2,从DOM树到构建WebKit绘图上下文
3,绘图上下文内容并呈现图像内容
总结:
作为一个提高JavaScript渲染的高效引擎,学习V8引擎应该重点掌握以下几个概念:
1.类型。对于函数,JavaScript是一种动态类型语言,JavaScriptCore和V8都使用隐藏类和内嵌缓存来提高性能,为了保证缓存命中率,一个函数应该使用较少的数据类型;对于数组,应尽量存放相同类型的数据,这样就可以通过偏移位置来访问。
2.数据表示。简单类型数据(如整型)直接保存在句柄中,可以减少寻址时间和内存占用,如果可以使用整数表示的,尽量不要用浮点类型。
3.内存。虽然JavaScript语言会自己进行垃圾回收,但我们也应尽量做到及时回收不用的内存,对不再使用的对象设置为null或使用delete方法来删除(使用delete方法删除会触发隐藏类新建,需要更多的额外操作)。
4.优化回滚。在执行多次之后,不要出现修改对象类型的语句,尽量不要触发优化回滚,否则会大幅度降低代码的性能。
新机制。使用JavaScript引擎或者渲染引擎提供的新机制和新接口提高性能。
摘录自 code_xzh 的csdn的博客;