ホームページ >バックエンド開発 >PHPチュートリアル >PHP__autoload() メソッドは本当にパフォーマンスに影響しますか?_PHP チュートリアル
はじめに
PHP のパフォーマンスの問題に関して、最も議論されているのは __autoload() メソッドであり、このメソッドがパフォーマンスに大きな影響を与えると多くの人が言及しています。オペコードが __autoload() メソッドにも影響する可能性があるという人もいたので、この 2 点についてテストしてみました。
最後に、__autoload メソッドはパフォーマンスに大きな影響を与えないことがわかりました。一部のネチズンは、__autoload() がなければ、メンテナンスのコストがパフォーマンスのコストよりも数え切れないほど高くなると言っています (私も同意します)。
環境
PHP:5.3.9 - fastcgi モードで開始します
Nginx:1.1.12
イーアクセラレータ:0.9.6.1
スクリーンショット:
起動インターフェース:
eAccelerator (php.ini ファイル内) 構成:
ファイル構造: (各テスト ファイルは 6,000 行を超えるコードを含むファイルです)
テスト: eAccelerator キャッシュを使用してテストします
テストコード: __autoload を通じてロードされました
写真1
ブラウザを更新して得られた結果は次のとおりです:
合計時間:0.10401391983032
合計時間:0.10252094268799
合計時間:0.095267057418823
合計時間:0.10013008117676
合計時間:0.096842050552368
合計時間:0.097998142242432
合計時間:0.10348510742188
合計時間:0.096648931503296
テスト: __autoload() なし
写真2
テスト結果 - ブラウザを更新してください
合計時間:0.10309100151062
合計時間:0.10285210609436
合計時間:0.10154414176941
合計時間:0.097845792770386
合計時間:0.099545001983643
合計時間:0.10166597366333
最終的な結果: autoload メソッドでは明らかなパフォーマンスの低下はありません
テスト: テストのために eAccelerator キャッシュをキャンセルします
図 1 のテスト結果
合計時間:0.24992394447327
合計時間:0.25681900978088
合計時間:0.25327301025391
合計時間:0.22580695152283
合計時間:0.22656512260437
合計時間:0.22530484199524
合計時間:0.23080611228943
図 2 のテスト結果
合計時間:0.23054909706116
合計時間:0.22633790969849
合計時間:0.23442888259888
合計時間:0.2350070476532
合計時間:0.22897601127625
合計時間:0.23207712173462
__autoload() メソッドは依然としてパフォーマンスに明らかな影響を及ぼしません。
まとめ
上記の 2 セットの実験を通じて、次の結論が得られます:
1>__autoload メソッドには明らかなパフォーマンスの低下はありません。したがって、ためらわずに __autoload メソッドを使用してください。
2> オペコードはコードに比較的大きな影響を与えます。オペコードを使用すると、PHP コードの実行速度が 2 倍近く向上することがわかります。