ホームページ  >  記事  >  バックエンド開発  >  効率化について質問させていただきます。

効率化について質問させていただきます。

WBOY
WBOYオリジナル
2016-06-13 13:50:16877ブラウズ

効率について質問してもいいですか?
私は PHP を学んだところですが、PHP と Java の最大の違いはインタープリタ言語とコンパイル言語の違いであることがわかりました。もちろん、解釈タイプはより動的ですが、効率の問題も反映しています。

多くのオープンソース フレームワークは、単一交差 MVC モデルに基づいています。
index.php/model/value//para/value/para/value....
インターセプトパラメータ: /model/value/para/value がモジュールとして動的に導入されましたアクション PHP ファイル:
10,000 個のモジュールがある場合、index.php には毎回異なるものが含まれます。
お聞きしたいのですが、index.php に毎回異なるものが含まれている場合、
index_usermodel.class (php ファイルではなくコンパイルされたファイル) のようなコンパイル済みファイルが 10,000 個生成されます。

PHP がどのようにコンパイルされるかを説明できる人はいますか? JAVA の Import には効率の問題がないことはわかっていますが、PHP の Include がこの問題をどのように解決するのかはわかりません。

-----解決策---------
最下層はわかってないよ!

いいえ、PHP には永続的なメモリがありません。 毎回リロードしなければなりません。したがって、負荷はできるだけ少なくするのが原則です。 したがって、PHP プログラムは可能な限り「フラット」である必要があります。ルーティングとインクルードは両方とも短くする必要があります。

apc などのキャッシュはファイル io の問題を解決するだけで、メモリ割り当てなどの問題は解決しないと言われています。 apc がない場合は、include をできるだけ小さくする必要があります。

私は以前 javaeye でこの問題について議論しました。
------解決策---------

話し合う

もう 1 つの単純な質問があります。
モジュールにアクセスするたびに 1 回コンパイルするか、初めてコンパイルするかです。

------解決策----------------------
オペコード自体をキャッシュすることもできます。
さらに、使用されている言語がウェブサイトのボトルネックになったことはありません。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。