12のPHP最適化(高速化)テクニック。
1、staticメソッドが使えるなら使おう。速度は4倍になる
2、__get, __set, __autoload は使わない
3、require_once は重い
4、include, requireで読み込むファイルはフルパスにしよう
5、スクリプト開始時のUNIXタイムを $_SERVER['REQUEST_TIME'] で取れる
6、strncasecmp関数やstrpbrk関数を使えるケースはこれらを使い、正規表現は使わない
7、preg_replaceはstr_replaceより速い、しかし、strtrはpreg_replaceより4倍速い
8、引数を、単体か配列かで自動判別するようなコードは出来るだけ避ける
9、@ を使ったエラー制御はとても遅い。→ @fputs($fp, "?");
10、$row["id"] は $row[id] より7倍速い
11、PHPのエラーメッセージは重い( noticeとかwarningとか)
12、for ($x=0; $x < count($array); $x) のように、forの中でcountを使うと毎回countが呼ばれるので使わない。
特に気を付けたいと思ったのが、10番と12番。
よく使っている…。
2、__get, __set, __autoload は使わない
3、require_once は重い
4、include, requireで読み込むファイルはフルパスにしよう
5、スクリプト開始時のUNIXタイムを $_SERVER['REQUEST_TIME'] で取れる
6、strncasecmp関数やstrpbrk関数を使えるケースはこれらを使い、正規表現は使わない
7、preg_replaceはstr_replaceより速い、しかし、strtrはpreg_replaceより4倍速い
8、引数を、単体か配列かで自動判別するようなコードは出来るだけ避ける
9、@ を使ったエラー制御はとても遅い。→ @fputs($fp, "?");
10、$row["id"] は $row[id] より7倍速い
11、PHPのエラーメッセージは重い( noticeとかwarningとか)
12、for ($x=0; $x < count($array); $x) のように、forの中でcountを使うと毎回countが呼ばれるので使わない。
特に気を付けたいと思ったのが、10番と12番。
よく使っている…。