这条线有什么最快的方法吗?
ballAngelRadianVector = -ballAngelRadianVector;
还有这个:
ballDegree = fee - ballDegree ;
这条线有什么最快的方法吗?
ballAngelRadianVector = -ballAngelRadianVector;
还有这个:
ballDegree = fee - ballDegree ;
我不认为你能比这更快。看看我做的这个快速检查:
var i:uint = 0;
for(i; i<1000000; i++)
{
var a:int = -i;
}
trace(getTimer()); //14
我实际上是出于好奇而想知道类似的东西(我知道这不是我的应用程序的瓶颈)。我的问题是,将 var 设置为自身的负数或将其乘以 -1 是否更容易。我想知道这是否因 CPU、操作系统等而异,但我运行了以下测试:
$number = rand(100000,999999999);
$iterations = 10000000;
$start = microtime(true);
for($i = 0; $i <= $iterations; $i++)
$number = -$number;
echo "time: ".(microtime(true)-$start)."\n";
//
$start = microtime(true);
for($i = 0; $i <= $iterations; $i++)
$number = $number * -1;
echo "time: ".(microtime(true)-$start)."\n";
//
$start = microtime(true);
for($i = 0; $i <= $iterations; $i++)
$number = -$number;
echo "time: ".(microtime(true)-$start)."\n";
//
$start = microtime(true);
for($i = 0; $i <= $iterations; $i++)
$number = $number * -1;
echo "time: ".(microtime(true)-$start)."\n";
产生了输出:
time: 0.66124606132507 (-self)
time: 0.64714503288269 (*-1)
time: 0.66628909111023 (-self)
time: 0.65639805793762 (*-1)
所以看起来乘以-1总是更快(可以忽略不计)