今更以下の情報はさすがに古いです・・・
昔はこういうことがあったんだよと下の世代へお伝え下さい・・・。
よく言われる、「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 はちゃんと設計して使いましょう。
ってことなのかな・・・?