在 Asm.js 定义的第一行有一个基于 Asm.js 的代码示例,解释了按位运算有助于获得更快的 JS 代码:
HEAP32[p >> 2]|0
或
(x+y)|0
我的问题是,这个操作如何提高性能?在 Asm.js 或 Emscripten 生成的 JS 代码中多次使用这个按位运算符的原因是什么?
最佳答案
按位运算符强制其操作数为整数值。与调用 Math.floor
等相比,这是一种更快的转换方式。请注意
p >> 2
(对于 p
的非负值)与 Math.floor(p/4)
相同。
关于javascript - 按位运算如何提高 Asm.js 的性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23436159/