0

かなり大きなクラスを書き終えたところですが、(から関数を実行するとき)非常に遅いことがわかりました。

このクラスには、3つのパブリック関数と少なくとも10のプライベート関数が含まれており、1,569行のコードが生成されます(そのかなりの量はコメントでもあります)。

今、私は認めなければなりません、公の行事の1つを呼び出すとき、舞台裏で歌と踊りがたくさん行われていますが、応答時間が非常に悪く、クラスは使用する価値さえありません。

クラスファイルのサイズは57KBです。ここでファイルサイズが問題なのか、それとも単に実行しているコードが原因なのか疑問に思っています。ファイルを分解するだけでいいのでしょうか、それともコードに欠点を持たせる必要があるのでしょうか。

また、別のファイルのクラスファイルを単純に含めることも試みましたが、同じことが言えます...

これがうまくいく場合:

1.)クラスには、ファイルの読み取り/書き込みを伴う関数がかなりあります(file_exists()、、、、ectなど)fopen()fwrite()

2.)データベースクエリ/接続はありません

3.)ループはありませんhuge(20を超える)ループはありません

どんな助けでも大歓迎です!

4

2 に答える 2

1

IOはおそらく最も遅い操作です。

プログラム自体のサイズはそれほど問題ではありません。xdebugを使用してコードのプロファイルを作成し、具体的に何があなたを引きずっているのかを判断できます。これを使用すると、最初に最適化するコードに優先順位を付けることができます。

于 2012-05-02T22:57:22.520 に答える
0

速度の面で問題のない大きなファイルがありました。

ファイルハンドルを効率的に使用していないために、速度が低下する可能性が最も高い理由です。たとえば、使用するたびにファイルを閉じると、スクリプトの最後でファイルを閉じる(または手動で閉じないことで暗黙的に閉じる)のとは対照的に、かなり長い時間がかかります。

于 2012-05-02T22:58:20.130 に答える