PHPリファレンス
UPDATE:2017年03月26日
PHP実行時間の短縮
echo の使用
echo で十分な箇所に printf() を使用しない。
echo と「,(カンマ)」の使用
悪い例
1 2 3 4 5 6 | <!-- サンプルコード --> <?php echo $value1; echo $value2; echo $value3; ?> |
よい例
1 2 3 4 | <!-- サンプルコード --> <?php echo $value1,$value2,$value3; ?> |
ループ処理
悪い例
1 2 | <!-- サンプルコード --> for($i=0; $i<count($array); $i++){処理} |
$i<count($array);がループ回数分実行される
良い例
1 2 3 | <!-- サンプルコード --> $max = count($array); for($i=0; $max; $i++){処理} |
$max = count($array);1度だけ実行される
インクルード
インクルードファイルは必要最低限のファイルのみにすること
簡単な文字列処理に正規表現は使用しない
簡単な文字列処理に正規表現は使用しない。単純な文字置換なら preg_replace() でなく strtr() を使用する。
PHP最適化テクニック
参照記事:http://www.moskalyuk.com/blog/php-optimization-tips/1272
参照記事:http://phpspot.org/blog/archives/2006/11/12php.html
POINT
- PHP7を使用する
- staticメソッドが使えるなら使う。速度は4倍になる
- __get, __set, __autoload は使わない
- require_once は重い
- include, requireで読み込むファイルはフルパスにする
- スクリプト開始時のUNIXタイムを $_SERVER['REQUEST_TIME'] で取得
- strncasecmp関数 や strpbrk関数 を使えるケースはこれらを使い、正規表現は使わない
- preg_replace は str_replace より速い、しかし、strtr は preg_replace より4倍速い
- 引数を、単体か配列かで自動判別するようなコードは出来るだけ避ける
- @ を使ったエラー制御はとても遅い。→ @fputs($fp, "?");
- $row["id"] は $row[id] より7倍速い
- PHPのエラーメッセージは重い( noticeとかwarningとか)
- for ($i=0; $i<count($array); $i) のように、forの中でcountを使うと毎回countが呼ばれるので使わない
タグ(=記事関連ワード)
タグ: PHPテクニック
日付
公開日:2011年11月19日
最終更新日:2017年03月26日
最終更新日:2017年03月26日
このカテゴリの他のページ
この記事へのコメント
トラックバックurl
https://wepicks.net/phpref-tech_exeshortcut/trackback/