Firefox 9中加入类型推断 JS性能将提升20%到30%

红薯
 红薯
发布于 2011年09月01日
收藏 4

据外媒报道,在历时长达18个月的努力之后,Mozilla终于成功为Firefox的Javascript引擎增加了一个重大的新特性,根据初步 测试,至少可以提高20%到30%的Javascript性能。这个新的特性就是在Firefox的JaegerMonkey JIT编译器中加入的类型推断(Type Inference),它将随同Firefox 9一起提供测试。类型推断最早被提及还要追溯到几个月之前的Firefox 5时代,但是直到现在它才第一次登上舞台。

如果你是一名web程序员,那你一定会被此震撼!如果你并不太熟悉技术,那么这里有一个对类型推断的简单介绍。

在每个编程语言中,变量和函数都有一个类型。类型可以是整数、字符串、浮点数、数组、类……这些内部结构对于编程语言的编译器来说至关重要。有一些 语言是强类型语言,也就是说程序员必须为每个类、函数和变量都定义一种类型;这有点烦人,但是作为回报它将大大提高运行速度;另外还有一些语言,像 Javascript,是弱类型语言,也就是说程序员不必担心这些琐碎的细节问题,可以随心所欲的编写代码而让编译器来背起这个重担。而类型推断则弥补了 强类型语言和弱类型语言之间的鸿沟,你可以继续按照弱类型语言的习惯编写代码,但浏览器会根据使用情况对类型做出最优化的假设,从而依然可以获得性能上的 提升。

对于Firefox 9来说,数据推断引擎可以将Javascript的性能提高30%。具体提升的数值根据测试的不同而有所不同,但性能的大大提升是毋庸置疑的。据 ExtremeTeck在配置为Intel i7 930 @ 3.8GHz、内存6GB、显卡为Nvidia GTX 460的电脑上测试结果,在关闭类型推断的情况下,Kraken Benchmark的完成时间为3895毫秒;开启类型推断之后,时间缩短到2763毫秒。在V8 Javascript Benchmark中,关闭类型推断的Firefox 9的成绩为6075分,而开启类型推断后,成绩提升到6585分。即使在陈旧的微软HTML5 Sudoku测试中,10000格下类型推断将执行时间从2.6秒缩短至1.62秒;在FishBowl的帧率测试中,2000条鱼的情况下,类型推断开启后带来了15%-20%的性能提升。

Firefox 6,也就是你现在使用的浏览器,它的Javascript引擎基本上和Firefox 9相同,除了没有类型推断。所以基本可以说,在执行Javascript上,Firefox 9比现在的浏览器将要快30%。

最后,在你安装运行Firefox 9 Nightly之前,我们要提醒的是在当前的版本中类型推断仍有可能造成某些脚本速度变慢——64位版本应该没问题,但32位版本可能会有些问题。时间上,Firefox 9会在九月底到达Aurora频道。

 

ExtremeTech原文地址:http://www.extremetech.com/computing/94532-firefox-9-javascript-performance-improved-by-20-30-with-type-inference

文/HiWebGL

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:Firefox 9中加入类型推断 JS性能将提升20%到30%
加载中

最新评论(13

一刀
一刀
持续给力的firefox,希望早日超过chrome,我以前一直用的firefox,现在用的是chrome。冏。。。
速度啊,速度,泥马什么时候速度超过chrome啊。我就把chrome卸了。
蟋蟀哥哥
蟋蟀哥哥

引用来自“黑传说”的评论

极限科技用来做测试的机器配置有点高,个人认为这类测试应该用一般机器,这样效果才更准确。

不高啊..我电脑和这配置一样.. 只是显卡低点
DC梦幻岛
DC梦幻岛
这个消息还不错,总比说要加入原生的speed dial好得多
mark35
mark35
终于可以在版本和速度上都赶上chrome了
火眼金睛容嬷嬷
火眼金睛容嬷嬷
看这些版本号觉得很可怕。当年supermap跳过 版本号4就骂了好一阵,没想到老外们也开始了。
kyouzuikou
kyouzuikou
为了更新而更新!垃圾!
返回顶部
顶部