javascript - 按位运算如何提高 Asm.js 的性能?

标签 javascript bit-manipulation emscripten asm.js

在 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/

相关文章:

javascript - 正则表达式非捕获组问题

c - 赋值从整数进行指针转换而没有强制转换,但是有强制转换

c - 用按位运算符替换 "=="

java - 读取 10 位定点 float

c++ - 如何强制 emscripten/em++/llvm 从 .rodata 加载常量和/或执行更好的 SIMD 优化?

javascript - 如何使用 "input propertychange"事件捕获鼠标复制粘贴

javascript - 每次点击即可在文本之间切换

php - 开发跟踪像素

c++ - Emscripten 应用程序未执行