[PHP]PHPにおけるループの速さ
単純なループは時に、どの処理が速いのか気になることがあります。
time コマンドをを10回ほど交互に実行してuser実行時間の平均を比べてみた。
$i++; ++$i;の違い
--------------loop1.php------------
$n=0;
for($i=0; $i<100000; $i++){
$n++;
}
--------------loop2.php------------
$n=0;
for($i=0; $i<100000; ++$i){
$n++;
}
●結果
php loop1.php : 0.028
php loop2.php : 0.021
2の方が133.33%速い
for whileの違い
--------------loop1.php------------
$n=0;
for($i=0; $i<100000; ++$i){
$n++;
}
-------------loop2.php------------
$n=0;
$i=0;
while($i<100000){
$n++;
++$i;
}
●結果
php loop1.php : 0.029
php loop2.php : 0.02
2の方が145.0%速い
do{ }while(); while()の違い
-------------loop1.php------------
$n=0;
$i=0;
do{
$n++;
++$i;
}while($i<100000);
-------------loop2.php------------
$n=0;
$i=0;
while($i<100000)
$n++;
++$i;
}
●結果
php loop1.php : 0.023 : 1.000
php loop2.php : 0.021 : 0.913
2のほうが若干速い
以上です。
まとめ
$n=0;
$i=0;
while($i<100000){
$n++;
++$i;
}
をつかえと