xdebugを使用してアプリケーションのプロファイルを作成し始めたところ、すぐに結果に何か奇妙なことに気づきました。関数の1つはrequire_once
、処理時間の約12%を占めていることが示されています。アプリケーション全体で他にもかなりの数の呼び出しがありrequire_once
、それらはすべて処理時間の1%未満しかかかりません。
パフォーマンスrequire_once
が低いのは、他のファイルと大きく異ならない、または大きくないファイルが含まれているため、何が問題を引き起こしているのかわかりません。他の誰かがこのようなことを経験したことがありますか?
編集:もう少し情報を提供したかった。XAMPPを使用してWindowsでプロファイリングを行っています。通常、アプリケーションはUNIXボックスで実行されます。xdebugをボックスに取り込む簡単な方法がないので、その方法で結果を比較するのは現実的ではないかもしれません。
最後の編集:これが役立つ場合のコードのアイデアです(標準のCYAの法的な理由で意図的に曖昧になっています):
このクラスは、遅いインクルード(test.inc)を持つクラスです。
require_once('/xx/yy/zz/dao/basedao.inc');
require_once('/xx/yy/zz/vo/test.inc');
class TestDAO extends BaseDAO {
// bunch of code to handle database records and return VO objects
そして、これは含まれているファイルです:
require_once('/xx/yy/zz/vo/basevo.inc');
class Test extends BaseVO {
// bunch of properties, getters/setters, that kinda stuff
他にも、まったく同じ方法で問題なくビルドされたVO/DAOオブジェクトがたくさんあります。すべてが同じそれぞれのパス内にあります。