PGメモ

非エンジニアの記録

PHP高速化 インクリメントの種類

ループする時のインクリメントは「$i++」より「++$i」の方が早いらしい。
やってみた。


$c = 20000;
for($i=0;$i<10;$i++){
$r = bm('loop_1',$c);
$rary += $r;
$ravg = $rary/$i;
}
echo $ravg;

function bm($fn, $c)
{ $time_start = microtime(true);
$fn($c);
$time_end = microtime(true);
$time = $time_end - $time_start;
return sprintf("%.10f",$time);
}

function loop_1($c){
$i=0;
while($i<$c){
filerw($i);
++$i;
}
}

function filerw($i){
$fp = fopen("./test.txt", "w");
fwrite($fp, $i . "\n");
fclose($fp);
}

さて結果は・・・

$i++


2.6113062964556

++$i


2.7273368835444

結果:遅くなった。