今更以下の情報はさすがに古いです・・・
昔はこういうことがあったんだよと下の世代へお伝え下さい・・・。
よく言われる、「PHPの最適化 12 PHP Optimization tips」が本当か、今更ながら検証してみます。
環境は
- EeePC 1002HA
- Ubuntu 9.10
- Apache/2.2.12 (Ubuntu)
- PHP Version 5.2.10-2ubuntu6.4
では第一弾。
タイトルのとおり「staticが使えるなら、staticを使う。速度は4倍になる。」って本当??
テストしたスクリプトはこちら
class A
{
public static function staticA()
{
return true;
}
public function nonStaticA()
{
return true;
}
}
$limit = 100000;
$timerHolder = array(
'static' => 0,
'nonstatic' => 0,
);
$start = microtime(true);
for ($i = 0; $i < $limit; $i++) {
A::staticA();
}
$end = microtime(true);
$timerHolder['static'] = $end - $start;
$a = new A();
$start = microtime(true);
for ($i = 0; $i < $limit; $i++) {
$a->nonStaticA();
}
$end = microtime(true);
$timerHolder['nonstatic'] = $end - $start;
echo '<pre>';
var_dump($timerHolder);
echo '</pre>';
結果はarray(2) {
["static"]=>
float(0.191190958023)
["nonstatic"]=>
float(0.161245107651)
}
static 遅くね?
static はちゃんと設計して使いましょう。
ってことなのかな・・・?