asm.js与普通javascript和闭包性能

asm.js与普通javascript和闭包性能,javascript,arrays,performance,closures,asm.js,Javascript,Arrays,Performance,Closures,Asm.js,在对asm.js进行一些测试(试图手工编写asm)时,我在使用Firefox的jsperf上得到了一些奇怪的基准测试结果 我试图遵循包含一个简单循环的ArrayBuffer教程 在Google Chrome 39上测试时,结果非常完美,但在Firefox 31上,我遇到了以下两个问题: 使用asm.js时没有性能提升(即使我 “已成功编译asm.js代码”) 在闭包中使用本机for循环比使用本机for循环快20倍 我猜我的代码有问题(因为我对JavaScript和闭包特别陌生) 有什么帮助吗?您

在对asm.js进行一些测试(试图手工编写asm)时,我在使用Firefox的jsperf上得到了一些奇怪的基准测试结果

我试图遵循包含一个简单循环的ArrayBuffer教程

在Google Chrome 39上测试时,结果非常完美,但在Firefox 31上,我遇到了以下两个问题:

  • 使用asm.js时没有性能提升(即使我 “已成功编译asm.js代码”)

  • 在闭包中使用本机for循环比使用本机for循环快20倍

  • 我猜我的代码有问题(因为我对JavaScript和闭包特别陌生)


    有什么帮助吗?

    您会看到一个jsperf工件。jsperf防止在测试中编译代码,您应该始终在init部分定义函数。我在“准备代码”中移动了我的函数,它解决了问题#2。但第一个问题仍然悬而未决:使用或不使用“use asm”pragma仍然没有区别。我发现仍然没有答案。asm.js没有被广泛使用,也许你应该联系asm.js团队?