Asm.js 性能逼近原生码

oschina
 oschina
发布于 2013年12月24日
收藏 56

Asm.js是JavaScript的高性能子集,简化特性便于优化。Mozilla现在宣布,asm.js性能进一步逼近原生,asm.js的速度已达到原生码的三分之二, 而以前只能达到二分之一甚至更低。Mozilla是通过改变浮点算法处理方式改进asm.js性能。

JavaScript默认使用float64数据类型,以提供最大的数据精度,但相比范围较小的int、int32、float和float32数据类型,float64的效率并不高,Mozilla的 SpiderMonkey引擎在asm.js中加入了float32数据类型,允许将C/C++程序中的float32算法直接翻译到asm.js的 float32算法。

asmjsperformance

Mozilla相信asm.js的性能还能进一步提升。

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:Asm.js 性能逼近原生码
加载中

最新评论(32

knightuniverse
knightuniverse

引用来自“我喜欢吴佳旻”的评论

是不是要赶紧学js啊

不用...arm.js只是一个js子集,基本上这东西都是别的编译器编译生成的,不回去手写。就像汇编代码一样,你平时常常写么?
pfdoschina
pfdoschina

引用来自“殊麒”的评论

引用来自“DogFeet”的评论

引用来自“ZeroOne”的评论

引用来自“郭煜”的评论

引用来自“se77en”的评论

引用来自“冰力”的评论

早就应该放弃 Chrome 了,JS 应该是个开发人员都应该会的脚本吧。

Firefox 坚挺至今,终迎来 asm.js !!

你这么说让node.js情何以堪

node.js不可能超过静态编译后的速度的

怎么说呢,牛逼的动态虚拟机是可以强过蹩脚的静态编译器的。
你可以做一个实验去验证java的密集计算和一个已经落伍的老牌编译器生成的代码的执行速度。
你会大吃一惊的。

说的比唱的都还好听。
嗯,我们需要这个功能。嗯,这个功能好像也很酷,我们的语言也要加上。嗯,加上这个特性,我们语言的表述能力更强了。哇,有了这种语法后,程序简直太优雅了。
嗯,好像得将我们的解释器优化下了。嗯,厉害,我们修改xx部分后,性能提升了xx%。嗯,我们这里如果使用这种优化手段,性能又要提升xx%啦。
嗯,高效使用xx语言的十大准则,1.不要使用xx特性,2,不要使用xx特性,3,不要使用xx特性......
不如我们将本地代码翻译成咱们的xx语言执行吧。速度又会杠杠的。
---------------------------------------------------------------
JS已经被你们玩出花了啊,有木有。把java,c,c++,oc.....翻译成JS在浏览器中运行有木有。

这位老兄,你的这段描述,基本涵盖了OSC每天新闻的全部主题:)

应该是所有开发站点的新闻主题
刘冲
刘冲

引用来自“ksc”的评论

引用来自“殊麒”的评论

引用来自“blackshow”的评论

引用来自“ksc”的评论

我的理解是一个高标准的“js语法规范”,方便js引擎编译成原生的程序

4L的头像。。。。

OSC人不多,撞头像的不少,是不是说明兄弟们品味都类似啊。真的是好基友,在开源:)

好吧--!

好像尺寸...还是有差别的...
刘冲
刘冲

引用来自“blackshow”的评论

引用来自“ksc”的评论

我的理解是一个高标准的“js语法规范”,方便js引擎编译成原生的程序

4L的头像。。。。

有没有发现他的比你的大?
天国蓝山
天国蓝山
这东西看上去比V8性能还高
V8是JIT执行的,这个我感觉是个类似于LLVM的低级虚拟机
殊麒
殊麒

引用来自“DogFeet”的评论

引用来自“ZeroOne”的评论

引用来自“郭煜”的评论

引用来自“se77en”的评论

引用来自“冰力”的评论

早就应该放弃 Chrome 了,JS 应该是个开发人员都应该会的脚本吧。

Firefox 坚挺至今,终迎来 asm.js !!

你这么说让node.js情何以堪

node.js不可能超过静态编译后的速度的

怎么说呢,牛逼的动态虚拟机是可以强过蹩脚的静态编译器的。
你可以做一个实验去验证java的密集计算和一个已经落伍的老牌编译器生成的代码的执行速度。
你会大吃一惊的。

说的比唱的都还好听。
嗯,我们需要这个功能。嗯,这个功能好像也很酷,我们的语言也要加上。嗯,加上这个特性,我们语言的表述能力更强了。哇,有了这种语法后,程序简直太优雅了。
嗯,好像得将我们的解释器优化下了。嗯,厉害,我们修改xx部分后,性能提升了xx%。嗯,我们这里如果使用这种优化手段,性能又要提升xx%啦。
嗯,高效使用xx语言的十大准则,1.不要使用xx特性,2,不要使用xx特性,3,不要使用xx特性......
不如我们将本地代码翻译成咱们的xx语言执行吧。速度又会杠杠的。
---------------------------------------------------------------
JS已经被你们玩出花了啊,有木有。把java,c,c++,oc.....翻译成JS在浏览器中运行有木有。

这位老兄,你的这段描述,基本涵盖了OSC每天新闻的全部主题:)
y
ylmotol7

引用来自“DogFeet”的评论

引用来自“ZeroOne”的评论

引用来自“郭煜”的评论

引用来自“se77en”的评论

引用来自“冰力”的评论

早就应该放弃 Chrome 了,JS 应该是个开发人员都应该会的脚本吧。

Firefox 坚挺至今,终迎来 asm.js !!

你这么说让node.js情何以堪

node.js不可能超过静态编译后的速度的

怎么说呢,牛逼的动态虚拟机是可以强过蹩脚的静态编译器的。
你可以做一个实验去验证java的密集计算和一个已经落伍的老牌编译器生成的代码的执行速度。
你会大吃一惊的。

说的比唱的都还好听。
嗯,我们需要这个功能。嗯,这个功能好像也很酷,我们的语言也要加上。嗯,加上这个特性,我们语言的表述能力更强了。哇,有了这种语法后,程序简直太优雅了。
嗯,好像得将我们的解释器优化下了。嗯,厉害,我们修改xx部分后,性能提升了xx%。嗯,我们这里如果使用这种优化手段,性能又要提升xx%啦。
嗯,高效使用xx语言的十大准则,1.不要使用xx特性,2,不要使用xx特性,3,不要使用xx特性......
不如我们将本地代码翻译成咱们的xx语言执行吧。速度又会杠杠的。
---------------------------------------------------------------
JS已经被你们玩出花了啊,有木有。把java,c,c++,oc.....翻译成JS在浏览器中运行有木有。

哈哈
y
ylmotol7

引用来自“冰力”的评论

引用来自“ylmotol7”的评论

引用来自“冰力”的评论

早就应该放弃 Chrome 了,JS 应该是个开发人员都应该会的脚本吧。

Firefox 坚挺至今,终迎来 asm.js !!

为啥要放弃,用着挺爽,个人感觉比ff好

Chrome 功能有些单薄,一些菜鸟用到是足够了。

菜鸟都是用工具的,特别是火狐这么牛逼的工具
冰力
冰力

引用来自“ylmotol7”的评论

引用来自“冰力”的评论

早就应该放弃 Chrome 了,JS 应该是个开发人员都应该会的脚本吧。

Firefox 坚挺至今,终迎来 asm.js !!

为啥要放弃,用着挺爽,个人感觉比ff好

Chrome 功能有些单薄,一些菜鸟用到是足够了。
DogFeet
DogFeet

引用来自“ZeroOne”的评论

引用来自“郭煜”的评论

引用来自“se77en”的评论

引用来自“冰力”的评论

早就应该放弃 Chrome 了,JS 应该是个开发人员都应该会的脚本吧。

Firefox 坚挺至今,终迎来 asm.js !!

你这么说让node.js情何以堪

node.js不可能超过静态编译后的速度的

怎么说呢,牛逼的动态虚拟机是可以强过蹩脚的静态编译器的。
你可以做一个实验去验证java的密集计算和一个已经落伍的老牌编译器生成的代码的执行速度。
你会大吃一惊的。

说的比唱的都还好听。
嗯,我们需要这个功能。嗯,这个功能好像也很酷,我们的语言也要加上。嗯,加上这个特性,我们语言的表述能力更强了。哇,有了这种语法后,程序简直太优雅了。
嗯,好像得将我们的解释器优化下了。嗯,厉害,我们修改xx部分后,性能提升了xx%。嗯,我们这里如果使用这种优化手段,性能又要提升xx%啦。
嗯,高效使用xx语言的十大准则,1.不要使用xx特性,2,不要使用xx特性,3,不要使用xx特性......
不如我们将本地代码翻译成咱们的xx语言执行吧。速度又会杠杠的。
---------------------------------------------------------------
JS已经被你们玩出花了啊,有木有。把java,c,c++,oc.....翻译成JS在浏览器中运行有木有。
返回顶部
顶部