Life, Education, Death

プログラミング以外でも思ったことをつらつらと書きたい

PHPのインクリメント・デクリメント演算子をベンチしてみた

ちょっと気になったので実行してみた。
使っているPHPのバージョンは5.2.5

実行コード

$hoge = 0;
$start = microtime(true);
for($i=0; $i<10000000; $i++ ){
    $hoge++;
}
$end = microtime(true);
echo 'hoge++ time : '.($end - $start).'<br>';

$hoge = 0;
$start = microtime(true);
for($i=0; $i<10000000; $i++ ){
    ++$hoge;
}
$end = microtime(true);
echo '++hoge time : '.($end - $start).'<br>';

結果

hoge++ time : 0.68617415428162
++hoge time : 0.40503287315369

やっぱ++hogeって書いたほうがいいみたいだけど、多くの場合気になるほどではないかなぁ。PHPの場合はエイリアスとかで適当に実装されているのかと思っていた。

よく見てみたらちゃんと前置演算子と後置演算子で返す値が異なってた。