この行の最速の方法はありますか?
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
私は実際、好奇心から厳密に似たようなことを考えていました(これが私のアプリケーションのボトルネックではないことはわかっています)。私の質問は、変数をそれ自体の負の値に設定する方が簡単ですか、それとも -1 を掛ける方が簡単ですか? これがCPU、OSなどによって異なるかどうか疑問に思っていますが、次のテストを実行しました。
$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を掛けると一貫して高速になるようです(無視できる量だけ)