PHPコード最適化高速化TIPSまとめ

Posted by admin | PHP | 土曜日 24 5月 2008 12:07 AM

PHP最適化 ベストプラクティス!

参考url:
http://d.hatena.ne.jp/koto2/20080518/1211070116

  • 01. static にできるメソッドは static として宣言しよう。(4倍速い)
  • 02. echo の方が print より速い。
  • 03. echo ‘文’,'字’; (カンマ区切り)の方が、’文’.'字’ (ドット連結)より速い。
  • 04. ループの最大値は、ループ「内」ではなく「前」にセットしておこう。
  • 05. 大きい配列のような変数unset() してメモリを解放しよう。
  • 06. マジックメソッド(例: __get, __set, __autoload)は使用を避けよう。
  • 07. require_once はハイコストなのです。
  • 08. includerequire でファイルはフルパスで指定しよう。
  • 09. スクリプト開始時間は time() でなく $_SERVER['REQUEST_TIME'] で取得。
  • 10. 可能であれば、正規表現より strncasecmpstrpbrkstripos を使おう。

  • 11. strtr(str_replace の4倍速い) > str_replacepreg_replace の順に速い。
  • 12. 引数配列文字列両方を受け入れるような関数は避け、個別に関数化しよう。
  • 13. if をたくさん使ってるなら switch を活用しよう。(訳注:ってことでいい?)
  • 14. @によるエラー制御はすんごく遅い。
  • 15. Apachemod_deflate(Apache2系) を ON にしておこう。(No.42 参照)
  • 16. 処理が終わったらデータベースの接続は切っておこう。
  • 17. $row['id'] は $row[id] より7倍速い。
  • 18. エラーメッセージはハイコスト。
  • 19. for 文の条件式には count($array) のような関数をいれない。(変数に格納)
  • 20. メソッド内ではローカル変数をインクリメントするのが一番速い。


  • 31. キャッシュを利用しよう。通常、コンパイル回数 x 25~100% 分速くなる。
  • 32. これもキャッシュについて。memcached とか使おうよ。
  • 33. if (strlen($foo) < 5) を調べたいなら if (!isset($foo{5})) と書くと速い。
  • 34. $i++ より ++$i の方が速い。(そういう opcode optimizer が走ってる場合)
  • 35. 全部が全部 OOP でなくても良い。(コストやメモリの浪費になってるかも)
  • 36. すべてのデータをクラスにしようとしないこと。配列も十分便利です。
  • 37. メソッドを分割しすぎない。(どれを再利用するのかよく考えよう)
  • 38. メソッドを分割したくなったら後でいくらでもできる。
  • 39. もとから用意されてる 関数たち を活用しよう。
  • 40. 非常に時間のかかる関数C言語による拡張モジュール化も検討しよう。



  • 61. SELECT * (ワイルドカード)を使うのはやめよう。
  • 62. PHP より賢い DB ロジック(queries, joins, views, procedures)を活用しよう。
  • 63. SQL の省略表記を活用しよう。
    (例:INSERT INTO MYTABLE (FIELD1,FIELD2) VALUES ((“x”,”y”),(“p”,”q”));)


以上。

【サイト内の関連記事】





1件のコメント »

  1. ピンバック by PEAR::Services_Yahoo_JP - Rest Term — 2008 年 8 月 14 日 @ 1:38 AM

    [...] 最近は本当にActionScriptとPHPしか書いてないような気がします。 PHPコード最適化高速化TIPSまとめ PHPコード最適化Tipsのウソと本当(解説) を読みながら、最近PHPを書くときはこれらを意識す [...]

このコメント欄の RSS フィード TrackBack URI

コメントをどうぞ