设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 开源资讯 Firefox 查看内容

Mozilla:Asm.js性能逼近原生码

2013-12-25 11:47| 发布者: joejoe0332| 查看: 4446| 评论: 0|原作者: cnBeta.COM|来自: cnBeta.COM

摘要:   Mozilla的asm.js是JavaScript的一个高性能(严格)子集,因此Firefox能够比执行常规的JavaScript代码运行得更快。得益于内建到Firefox的JavaScript引擎(OdinMonkey),asm.js代码已经在3月份实现了大约1/2的原生速 ...
  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运行得更快。


酷毙

雷人
1

鲜花

鸡蛋

漂亮

刚表态过的朋友 (1 人)

  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部