[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 メーリングリストの案内