[PHP-users 16699]Re: 【初歩的】どの書き方が一般的?改行削除はどうやるの?【質問】
Seto
seto @ cii.gr.jp
2003年 7月 15日 (火) 12:51:24 JST
Setoです。
>komura です。
>> > echo $val . '<br>';
>> echo "$val<br>";
>> // たしかこちらのが いくらか速いと以前このMLで出ていたような・・・
>どこかで見かけたような気がしたのですが、見つけられませんでしたので、
>PEAR の Benchmark_Timer を使って確認してみました。
わざわざありがとうございました。
わたしも最初に確認すべきでした。
>PHP のバージョンによる違いもあるのかもしれませんが、手元の環境では
>$str . "<br>" のように、変数を外に出した方がかなり速くなるという
>結果になりました。
嘘情報を流してしまい申し訳ありませんでした。
反省して私も 同様のテストをしてみました。
$n = 100000;
$str = '';
for ( $i = 0; $i <= $n; $i++ ) {
テストパターン
}
このfor文の前後でマイクロタイムをとって計測してみました。
5回ほど繰り返しての平均です。
結果
No.| テストパターン | 時間(sec)
---|------------------+------------
1 | $str . ' str'; | 0.1920
2 | $str . " str"; | 0.1925
3 | "$str str"; | 0.3065
4 | $str; ' str'; | 0.1365
こんどは これらのテストパターンを 変数に代入してテスト
No.| テストパターン | 時間(sec)
---+-------------------------------------+------------
1 | $strings = $str . ' str'; | 0.2348
2 | $strings = $str . " str"; | 0.2370
3 | $strings = "$str str"; | 0.3522
4 | $strings = $str; $strings = ' str'; | 0.2749
4より3のが時間がかかるのが意外でした。
# ちなみに for中の $i++ よりも ++$iのが若干ですが速いですね。
テスト環境
Redhat7.3Linux Apache1.3.27
PHP4.3.0
CPU Celeron 1.2GHz
Memory PC100 512MByte
*****************************************
Junya Seto
http://www.cii.gr.jp/~seto/php4/
*****************************************
PHP-users メーリングリストの案内