私はPHPクラスを書いています。現時点で 1,000 行のコードがあり、ファイル サイズは 46 KB です。それは非常識なサイズではありませんが、これは私に考えさせました.
Q: ファイル サイズや PHP ファイルに含まれるコードの量が原因で、パフォーマンスが影響を受け始めるのはどの時点ですか?
他の人が示唆しているように、ファイル サイズの主な焦点は、読みやすさとコードベースを理解しやすいものにすることです。
ただし、PHP ファイルのサイズとパフォーマンスに関する最初の質問に関しては、必要なパフォーマンスの種類によって異なります。頻繁に実行されない PHP コード (訪問者が Web ページをロードするのではなく、コマンド ラインを介してクライアントのマシンで実行される PHP プログラムなど) の場合、ファイル サイズが大きくても気にならない場合があります。
対照的に、高パフォーマンスのシナリオでは、かなり小さな PHP ファイルでもかなりのシステム リソースを消費します。PHP パフォーマンスの一般的な問題は、Facebook がPHP コードを実行するための独自の JIT 仮想マシンを作成するように駆り立てた理由です。
上記は一般的な最適化に当てはまります。分類するためのより広いコンテキストがなければ、パフォーマンスの良し悪しを区別することは困難です。ファイル サイズに関係なく、PHP コードのパフォーマンスが気になる場合は、Xdebugなどの PHP プロファイラーを使用し、サーバーのシステム リソースを監視することをお勧めします。
編集、 Sébastien Renauldの提案で、PHP とオペコードのキャッシュに関する次の情報を回答に追加します。ただし、すべてを自分で書くのではなく、ほぼ同じトピックをカバーするこの StackOverflow の質問に対する受け入れられた回答を指摘したいと思います。
私は何かの専門家ではありませんが、ファイル サイズが PHP のメモリ制限のかなりの割合になるまで、おそらく問題に遭遇することはないでしょう。
そして、1 つの PHP ファイルに大量のコードが含まれていることをお伝えします。確認したところ、11,487行です。
そのファイルと 2,056 行の別のファイルは、両方とも私の開発サイトのすべてのページに含まれています。
明らかなパフォーマンス上の問題は見られません。
おそらく、なぜこんなに大きなファイルがあるのかを説明する必要があります。
私はプログラム全体を機能させることに集中しています。そして、ファイルを探すことなく簡単に検索してクラスを変更できるように、ほとんどのクラスでその 1 つのファイルを使用することにしました。完了したら、すべてのクラスを個別のファイルに分割し、autoload を使用して必要なクラスのみをロードします。それはおそらく数週間ではありませんが、そうするときは、パフォーマンスの違いがあるかどうかを確認するために前後にベンチマークを行いますが、そうではないでしょう.
現在、私のサイトのすべてのページがそのファイルを読み込みます。ホームページを読み込んだところ、Chrome によると 102ms かかりました。実際に多くのクラスを使用し、データ集約型の作業を行い、MySQL と対話するページは 279 ミリ秒かかりました。
したがって、ファイル サイズが 11,487 行よりもはるかに大きくなるまで、ファイル サイズは重要ではないように思えます。速度を上げるには、コードの最適化についてもっと考慮する必要があります。
たとえば、配列処理について質問したところ、一部のソリューションではコードが 5 分、約 30 秒以上実行され、いくつかのソリューションでは約 280 ミリ秒で実行されました。ファイルサイズを気にする必要はありません!