转载

微软表示Edge的性能更用于Chrome和Firefox

本文简要叙述了Chakra引擎的部分性能优化工作,以及对Edge、Chrome和Firefox进行的Octane和Jet Stream基准测试分析结果。

正如在“ 从开发者的角度看微软Edge浏览器 ”一文中所列举的细节一样,这个本部位于雷蒙德的浏览器开发者对于web技术、web标准以及与其它浏览器的兼容性的态度发生了转变。他们抛弃了一些旧的IE组件,并决定在新的渲染引擎中严格地遵从HTML、JavaScript与CSS的标准。不仅如此,他们终于开始应对这个已经被拖延了很久的问题:性能。

IE浏览器中主要的性能瓶颈与JavaScript的处理有关,微软在Edge浏览器中的新版本Chakra JavaScript引擎中修复了部分问题。我们在此处简单地列举一些得到改善的部分(可以在 这里 和 这里 找到更多详细内容):

  • Chakra引入了一个新的Simple JIT编译器,它的优化过程较短,因此能够更快地执行代码。Profiling过程可以继续执行而无需等待,引擎只会在Full JIT生成的优化代码可用时切换至这种模式。Simple JIT是作为一个后台线程运行的。
  • 根据底层硬件的不同,Chakra可运行多个JIT线程,因此编译的过程更快。由于这方面的改善,TypeScript的速度也提升了30%。
  • 最后的垃圾回收(GC)标注过程现在可以在主线程与GC线程上同时进行,因此最后GC标注过程对主线程的干扰可减少最多48%。
  • 通过使用静态数据减少了代码内联过程的开销。
  • Chakra现在允许跨文件的脚本内联。
  • 在ES6中即将到来的const特性可以使编译器省略对变量进行检查,以判断它是否产生改变的过程。对于没有使用const的Web应用来说,Chakra能够辨别出没有产生改变的全局变量,然后将它们作为const进行处理,以避免变量查找所带来的时间开销。
  • JIT编译器对通过UglifyJS生成的最小化代码进行了更好的优化,目前排名前1000的网站中的绝大部分都使用了UglifyJS。
  • JIT现在对try-catch语句块中的代码进行了优化。

在看到这么多改进与优化之后,我们不由得想看看Edge究竟能有多快。 根据微软的说法 ,Edge目前比Chrome和Firefox更快,如下图所示:

微软表示Edge的性能更用于Chrome和Firefox

微软表示Edge的性能更用于Chrome和Firefox

(单击图片以放大。该基准测试是由微软在64位Windows 10技术预览版上的64位浏览器上完成的,使用的硬件是HP Compaq 8100 Elite,带有4核i7 860 2.80GHz CPU与12GB 内存。)

我们已经看到,与IE11相比,Edge的性能得到了极大的改善。我们也将试目以待,看Google和Mozilla能否将他们的浏览器的基准测试分数再次提高。

查看英文原文: Microsoft: Edge Performs Better than Chrome and Firefox

正文到此结束
Loading...