本页包含2张图片,默认未加载,显示所有图片
红薯 发布于 1年前,共有 4 条评论
Crankshaft (意为曲轴,一种机械部件)是 Chrome 的 JavaScript 引擎 V8 的全新编译器架构。
经过不断的锤炼和优化,Crankshaft 在应付计算任务密集的 JavaScript 程序时有极其良好的表现,对比旧架构性能大概有一到两倍的提高。用户在浏览加载含有复杂 JavaScript 程序的网页时可以获得更快的响应速度。下面是引入 Crankshaft 后新旧 V8 引擎的速度对比。
以上基准测试中,提升显著的当属 Richards, DeltaBlue 和 Crypto,表明 V8 在数值读取、算术运算、紧密循环和函数调用方面取得了最为长足的进步。从测试数据来看,整体速度提升了50%,这也是 Chrome 自2008年推出以来最大的进步。
除了峰值性能的提高外,Crankshaft 也可以提高网络应用的启动速度(如Gmail),我们的页面循环读取测试结果表明,对于富含 JavaScript 代码的页面,总体性能有12%的提高。
启动时间和峰值性能的双双提高,得益于 Crankshaft 的自适应编译。大体思路是极力优化部分频繁执行的代码,而不花费额外的资源对少用的作优化处理,这也是为什么对一些简单的几毫秒可以完成的基准测试(如 SunSpider),Crankshaft 没有带来明显的性能提高——程序越复杂,提高才越明显。
Crankshaft 包含四大组件:
为32位 Intel 处理架构设计的 Crankshaft 已经集成在最新的 V8 引擎和 Canary 分支的 Chrome 中,ARM 架构和64位的 Crankshaft 的开发工作已经展开。
Crankshaft 带来的性能提高让人鼓舞,这是一个优秀的新架构,让 V8 接下来的性能提高创造了更多的进步空间,我们会继续推动 JavaScript 性能的进步,以迎接 Web App 的新时代。