Authentication




Cancel OK
B!コメントする  2013-02-26 22:49:00 by old

functionとclassの速度

よくわからないのでやってみた。

なにもしない場合

// 開始
$timestart = microtime(true);

for( $i = 0; $i < 10000; $i++ )
{
$result = preg
replace("/\n\n/", "", $target);
}

// 終了
$time2 = microtime(true) - $timestart;
// 結果
echo "str
replace " . $time2 . " second\n";


だいたい 0.016秒

これを関数化してみると

// 開始
$timestart = microtime(true);

for( $i = 0; $i < 10000; $i++ )
{
a();
}

function a()
{
$result = preg
replace("/\n\n/", "", $target);
}

// 終了
$time2 = microtime(true) - $timestart;
// 結果
echo "str
replace " . $time2 . " second\n";


だいたい 0.017 ~ 0.018秒

これをさらにクラス化してみると

// 開始
$timestart = microtime(true);

for( $i = 0; $i < 10000; $i++ )
{
$a = new a;
$a->b();
}

class a
{
function b()
{
$result = preg
replace("/\n\n/", "", $target);
}
}

// 終了
$time2 = microtime(true) - $timestart;
// 結果
echo "str
replace " . $time2 . " second\n";


だいたい 0.025秒


という結果になった。
もちろんclassはそれ以上に便利な機能が満載されているが思っていたよりも速度に差がでたのが印象に残った。


PHP  

  • コメント
  • コメントはまだありません