我有一个脚本执行一些繁重的计算并将部分结果存储在名为A的数组中。 当我将数组定义为Uint32Array(8)时,代码比我将数组定义为Array(8)时慢2倍。 计算结果如下:
A[0] = A[0] + (((A[3] ^ A[2]) & A[1]) ^ A[3]) + X[I] + 0x176ab448 + A[1];
我认为如果A [0]是Uint32(Uint32Array的元素),它会更慢,因为Java Script默认使用Floats作为数字并且必须进行一些转换。
如果我确定所有变量都是Uint32那么它应该更快,对吧?
我可以以某种方式检查某个特定变量是否在内部存储为Uint32,或者以某种方式强制浏览器将给定变量存储为Uint32所以所有计算都是在整数上完成而不是在浮点数上(出于性能原因)?