微软全新浏览器Edge为何飞快?大力感谢Intel
微软的全新浏览器edge虽然还在开发之中,但是其性能表现已经相当惊艳,很多项目都可以完爆chrome。这是怎么做到的呢?除了微软自己的努力之外,intel也贡献很大,微软特意撰文分享了一些小秘密。
edge/ie浏览器的javascript引擎叫做“chakra”,2012年起intel就开始不断贡献其在web运行时开发、jit代码生成方面的经验(当时主要是windows 8.1),最近更是为edge献出了大规模的代码库,尤其是在图形与性能优化方面。
顺带一提,intel还是webkit、blink、gecko等开源浏览器引擎的主要贡献者。
微软表示,intel直接参与了chakra jit编译器的改进,包括更好的指令选取和调度,还帮助微软消除了大量冗余指令,减轻了指令过载,总而减小了整体代码体积、改进了特定环境下的性能。
尤其是在windows 10、edge平台上,intel更是与微软紧密合作,帮助部署单指令多数据simd(已列入ecmascript标准化脚本语言提议),可利用特定的simd硬件指令(如今几乎任何架构都支持它),提升数据级别的并行执行。
simd指令集可以同时操作多个值,因此在处理矢量数据的似乎后,代码执行会更快。
单指令多数据simd:一个操作即可搞定两个矢量数据的加法
单指令单数据sisd:需要四个操作
simd在视频处理、多媒体、游戏等领域应用广泛,再配合asm.js,能够帮助javascript内容以近乎原生的速度运行。
要想体验这个功能,可以在edge浏览器中打开“about:flags”页面,勾选“enabel asm.js”,不过注意目前该功能仅支持x86、x64架构。
想看效果的话,可以访问simd mandelbrot demo:
无simd
开启simd
此外,intel还在积极帮助edge浏览器提升图形、布局和其他子系统的性能,而这还只是个开始。