2012-05-02 1 views
0

かなり大きなクラスを書き終わったばかりで、(関数を実行すると)かなり遅いことが判明しました。は、コードを実行するときのサイズがドキュメントのパフォーマンスに影響する可能性がありますか?

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

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

クラスファイルのサイズは57KBです。私は、ファイルサイズがここで問題になっているのだろうか、それとも単に私が実行しているコードのためかと思っています - 私はファイルを壊すことができますか私のコードに欠点を作らなければならないのですか?

私も単純に別のファイルからクラスファイルを含む試してみた、と同じことが、これがない場合には

...行くか良い:

かなりの数の関数ではあり

1)何のデータベースクエリ/接続はありません)

2.(例えば電気ショック療法電気ショック療法、fwrite()fopen()file_exists()として)書き込み/ファイルの読み込みを伴うクラスは

3)何ありません(オーバーカウント20)ループ

何か助けてください!

+2

ファイルサイズ(57KB/1569行)は、パフォーマンスが低下する理由であってはなりません。可能であれば、[PHPプロファイラ](http://stackoverflow.com/questions/21133/simplest-way-to-profile-a-php-script)を使用して、実行を追跡し、どのコード/関数またはその組み合わせを表示するのを助けます実行に時間がかかりすぎている。 – drew010

答えて

1

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

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

0

私はスピードの点で問題のない大きなファイルを持っていました。

ファイルハンドルを効率的に使用していないため、遅い可能性があります。たとえば、ファイルを使用するたびに閉じると、スクリプトの終わりにファイルを閉じるのと比べてかなり時間がかかります(または、手動でファイルを閉じないで暗黙的に閉じさせるだけです)。

+0

私はそのハンドルとは思わない。各関数には異なるファイル操作( 'fwriting()、fread()など)が含まれていますが、ハンドルを解析するので、各ファイルに対してハンドルを1つ使用します。 –

関連する問題