返回上一页  首页 | cnbeta报时: 16:25:06
Mozilla:Asm.js性能愈加逼近原生码
发布日期:2013-12-25 09:05:09  稿源:cnBeta.COM

Mozilla的asm.js是JavaScript的一个高性能(严格)子集,因此Firefox能够比执行常规的JavaScript代码运行得更快。得益于内建到Firefox的JavaScript引擎(OdinMonkey),asm.js代码已经在3月份实现了大约1/2的原生速度(native speed)。而最新的消息是,该组织宣布——其现在运行大多数基准测试的的速度,已达到原生码的2/3(甚至更好)了。

与Mozilla的做法不同,Google将赌注压在了本地客户端(Native Client)上,以使得web应用能够在浏览器中执行原生编译的代码。而Mozilla也在努力让JavaScript运行于原生速度。

尽管两者着手的角度不同,但无论是Google的Native Client、还是Mozilla的Emscripten LLVM-to-JavaScript编译器,两者都允许开发者使用C或C++代码,并在浏览器中运行。

Engineering teams at Mozilla and Epic ported Unreal Engine 3 to the Web

鉴于大多数游戏引擎都是用C或C++编写的,asm.js在大部分时候也将重心放在了游戏这块。事实上,在今年3月份的时候,Mozilla就为大家带来了《虚幻3》引擎的免插件演示(Firefox移植版),效果相当给力。

Mozilla的Alon Zakai和Robert Nyman最近宣布,团队通过asm.js和Emscripten编译器上一些小的增量变化,实现了2/3的性能。当然,部分也要归功于Firefox JavaScript引擎的改进。

Zakai和Nyman指出:具体说来,Firefox已经对一些会导致"大量明显变化"(substantial speedups)的浮点操作进行了优化。而Mozilla亦通过clang和gcc本地编译代码的方式衡量了asm.js的性能,并将之与通过Emscripten和asm.js运行相同代码的结果进行了比较(见上图)。

目前看来,asm.js仍然是一个Mozilla项目。不过Chrome和Opera亦表示了将为asm.js进行优化,只是时间上可能不会那么快。值得一提的是,尽管asm.js代码可以在当前任何的JavaScript引擎上运行,但是肯定不会比Firefox运行得更快。

相关新闻:

Firefox Nightly迎来OdinMonkey 可接近原生速度运行JavaScript [2013-03-22]

[视频]无需插件:《虚幻3》引擎已成功移植到Firefox浏览器 [2013-03-28]

asm.js:Mozilla在Web上实现接近原生的性能 [2013-05-23]

[编译自:TechCrunch , 来源:Mozilla , via:Solidot]

我们在FebBox(https://www.febbox.com/cnbeta) 开通了新的频道,更好阅读体验,更及时更新提醒,欢迎前来阅览和打赏。
查看网友评论   返回完整版观看

返回上一页  首页 | cnbeta报时: 16:25:06

文字版  标准版  电脑端

© 2003-2025