[PHP-users 17913]Re: 多重include(once)について
yoshiaki yazawa
yoshiaki @ gimmick.ne.jp
2003年 9月 16日 (火) 23:06:52 JST
お世話になってます。矢澤です。
ネックになっている配列を読み込む処理のみ
必要時にincludeするように設定してみた所、仰るとおりその処理が
あるかないかで速度差がはっきりでてきました。
配列定義を行っているスクリプト自体が別スクリプトで動的に生成されているため
Accelerator系はちょっと厳しいかもしれません(確かエンコードが必要ですよね)
今回のケースですとRDB系にデータを持たせる方向で考えてみます。
> >>スクリプトを読み込むだけでメモリの使用量が気になることは
> >>普通はないはずです。
> >># 例外としては、かなり大きいデータ用の配列を定義したスク
> >># リプトを作っているなど
> > まさにこれが該当します。
> > 比較的大きめのデータ用配列を定義したスクリプトを読み込んでました。
> > 配列のヒット数を調べてヒット率の高いデータのみ配列に定義し
> > 残りはCSVに落として、配列に存在しないデータのみをCSVから読み込んで
> > みるようにしてみます。
> これからすると、大きな配列を定義したスクリプトの読み込み
> が原因のようですね。あまり知られていないかも知れませんが、
> 配列の初期化は比較的負荷が高い処理です。
>
> 静的なデータをRDBから呼び出すのは遅いような気がするかも知
> れませんがRDBをクエリする方が早くなる場合も多いです。ファ
> イルベースのDB(db1,2,3,4やcdb)を使う方が良いかも知れません。
>
> # これはデータ量やアクセス方法、アクセス頻度、更新頻度など
> # によって変わるのでどのケースでどうなるか、は実験してみて
> # ください。
PHP-users メーリングリストの案内