Google今日披露了其在Chrome beta 33中作出的一项调整,以进一步提升“并行编译”性能。为此,它还卸下了很大一部分的后台线程。此前,Chrome是在主线程中编译JavaScript的,但这样会影响JavaScript应用程序的性能。而最终,Google在保持应用程序响应的同时,还提升了JavaScript的性能。当然,这一切都是通过V8(Chrome的JavaScript引擎)搞定的。 下面概述下它是如何工作的: 首先,V8会推迟编译JavaScript函数,直到它被首次执行前再立即开动(为了减少编译所耗费的总体时间); 然后,代码片段会通过专门的优化编译器“编译一次”(conpiled a second time); 尽管第二步会增加时间,但得益于更先进的技术优化,代码的速度依然更快了。 上图:是未启用并行编译的Chrome(V8完全忙于优化一大块代码片段,结果留下了一段执行“真空”)。 |