前に出た話題
暗黙の方変換の速度比較
//繰り返し $r = 1000000 ; //時間計測1 $start = microtime(true); for($i = 0; $i < $r; $i++) { $d = "0"; $d ++ ; } $end = microtime(true); echo "処理時間1:" . ($end - $start) . "秒
"; //時間計測2 $start = microtime(true); for($i = 0; $i < $r; $i++) { $d ='0'; $d = (integer)$d; $d ++ ; } $end = microtime(true); echo "処理時間2:" . ($end - $start) . "秒
"; //時間計測3 $start = microtime(true); for($i = 0; $i < $r; $i++) { $d =0; $d ++ ; } $end = microtime(true); echo "処理時間3:" . ($end - $start) . "秒
";
1=約0.13秒
2=約0.16秒
3=約0.10秒
あれ、そんな違わない・・・
というかいちいち型変換してた方が遅い・・・?
という訳で追試
//繰り返し $r = 1000000 ; //時間計測1 $start = microtime(true); for($i = 0; $i < $r; $i++) { $d = "0"; if($d == 0){$d ++ ;} } $end = microtime(true); echo "処理時間1:" . ($end - $start) . "秒
"; //時間計測2 $start = microtime(true); for($i = 0; $i < $r; $i++) { $d ='0'; $d = (integer)$d; if($d == 0){$d ++ ;} } $end = microtime(true); echo "処理時間2:" . ($end - $start) . "秒
"; //時間計測3 $start = microtime(true); for($i = 0; $i < $r; $i++) { $d =0; if($d == 0){$d ++ ;} } $end = microtime(true); echo "処理時間3:" . ($end - $start) . "秒
";
1=約0.20秒
2=約0.18秒
3=約0.10秒
比較が入ると違うなー
そして安定の無変換
最初から数字指定しとけと
でもSQliteのデータは数字指定でも文字で記録されてるとか、potiboardのconfigは定数の指定が数字でも文字(括弧付き)になってるとか