Geo*_*ith 1 air flash actionscript-3
我意识到理论上的逐位移位比AS3中的乘法和除法更快(我也对编译为AIR时的答案感兴趣).
例如:a << 3vsa * 8
不过我警惕编译后这可能不是这样,我不知道闪光究竟如何编译AS3,但我有一种感觉,他们会掉在可能的表现为他们的按位等价物.
是否有任何证据表明编译后按位操作更快?
我做了一些测试.
测试1:
var t:Number = getTimer();
for (var i:Number=0; i<30000000; i++) {
var a:uint = Math.round(Math.random()*100);
a *= 8;
}
var t1:Number = getTimer()-t;
trace(t1);
Run Code Online (Sandbox Code Playgroud)
输出:
[trace] 8999
Run Code Online (Sandbox Code Playgroud)
测试2:
var t : Number = getTimer();
for (var i:Number=0; i<30000000; i++) {
var a:uint = Math.round(Math.random()*100);
a <<= 3;
}
var t1:Number = getTimer()-t;
trace(t1);
Run Code Online (Sandbox Code Playgroud)
输出:
[trace] 8987
Run Code Online (Sandbox Code Playgroud)
TEST3:
var t:Number = getTimer();
for (var i:Number=0; i<30000000; i++) {
var a:uint = Math.round(Math.random()*100);
a *= 13;
}
var t1:Number = getTimer()-t;
trace(t1);
Run Code Online (Sandbox Code Playgroud)
输出:
[trace] 8918
Run Code Online (Sandbox Code Playgroud)
所以,如你所见,你不必担心这些事情,编译器会为你做这件事.