2006年 06月 22日 ( 1 )

[PHP]文字列連結に配列を使うと遅い

以前、最速の人が、JavaScriptでは文字列連結に配列を使ったほうが高速と言っていたので、ああそういうもんかなと思って、PHPでも無意識に使っていた。

で、ふと思い立ってPHPで実験してみたら、PHPではどうやら配列作ってjoinのほうが文字列連結演算子より遅かった。以下コード。

define('COUNT', 1000000);
/**
* 文字列連結演算子
*/

function test1() {
$str = "";
for($i = 0; $i < COUNT; $i++) {
$str .= "" . $i % 50;
}
return $str;
}
/**
* 配列作ってjoin
*/
function test2() {
$str = array();
for($i = 0; $i < COUNT; $i++) {
$str[] = "" . ($i % 50);
}
return join('', $str);
}
/**
* 時間を測定する
*/
function calcTime($func) {
$begin = getmicrotime();
$func();
$end = getmicrotime();
echo $func, " : ", ($end - $begin), " msec\n";
}
/**
* マイクロ秒で時刻を得る
*/
function getmicrotime(){
list($msec, $sec) = explode(" ", microtime());
return ((float)$sec + (float)$msec);
}

calcTime("test2");
calcTime("test1");
結果。
test2 : 4.5721399784088 msec
test1 : 1.4333798885345 msec

[PR]
by tockri | 2006-06-22 10:14 | ├ コンピュータ
 
移転しました。
by tockri
S M T W T F S
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30
最新のトラックバック
[media][gove..
from bewaad institu..
甘やかされた男たち
from とっくりばー
~が下手
from たのしい検索・ゆかいな検索
例えバトン
from ひまわりてんびんへの道
例えバトン
from 明日は明日のホラを吹く-To..
リンク
ライセンス

クリエイティブ・コモンズ・ライセンス

このブログのテキストおよび画像は、クリエイティブ・コモンズ・ライセンスの下でライセンスされています。




検索
ファン
ブログジャンル
画像一覧