PHP 4 は、今年末までに PHP グループによるサポートが終了する予定です。そのため、皆さんがより安心して PHP 5 プラットフォームに移行できるようにするために、特別にこのテストを実施して、PHP 4.x がサポートされているかどうかを確認しました。実際、パフォーマンスは PHP 5 よりも優れています。PHP 5.x プラットフォームのさまざまな機能とパフォーマンスを体験するには、PHP 5.x プラットフォームに移行する必要があります。
PHP 5 には、新しいオブジェクト モデル、より多くの新機能が含まれており、処理速度、特にオブジェクト指向コードの処理速度が向上していますが、PHP 4 のオブジェクト指向コードの速度は、PHP5.x では比較的平均的です。中国のオブジェクト指向コードの速度はプロセス指向コードの速度を超えているため、オブジェクト指向コードのパフォーマンスを疑う必要はありません。次のテスト結果がすべてを示しています。
【テスト環境】
* CPU: Intel Pentium4 2.66GHz
* メモリ: 1GB
* ディスク: 73GB/SCSI
* OS: FreeBSD 4.11
* Web: Apache 1.3.37
テストツール: ab (http_load も使用可能)
名詞 RPS: 1 秒あたりのリクエスト (1 秒あたりのリクエスト数)
【PHP 4.4.2 テスト結果】
[ 機能 ]
テスト結果: ab -n 10000 -c 50 の結果は 1047.23/rps です
[クラス]
クラスをインスタンス化しない
テスト結果: ab -n 10000 -c 50 の結果は 1034.98/rps です
インスタンスクラス
テスト結果: ab -n 10000 -c 50 の結果は 1006.14/rps です
クラスの継承
テスト結果: ab -n 10000 -c 50 の結果は 992.95/rps です
【PHP 5.2.1 テスト結果】
[ 機能 ]
テスト結果: ab -n 10000 -c 50 の結果は 1176.06/rps です
[クラス]
クラスをインスタンス化しない
テスト結果: ab -n 10000 -c 50 の結果は 1197.17/rps です
インスタンスクラス
テスト結果: ab -n 10000 -c 50 の結果は 1187.93/rps です
クラスの継承と抽象化
テスト結果: ab -n 10000 -c 50 の結果は 1128.54/rps です
【テスト結果と分析】
[試験結果データ]
バージョン 関数テスト インスタンス化されていないクラス インスタンス化されたクラス クラスの継承
PHP 4.4.2 1047.23/rps 1034.98/rps 1006.14/rps 992.95/rps
PHP 5.2.1 1176.06/rps 1197.17/rps 1187.93/rps 1128.54/rps
[結果分析]
1. 一般的に、PHP5.2 のパフォーマンスは PHP4.4 のパフォーマンスよりもわずかに高いことがわかります。したがって、PHP5.2 のパフォーマンスが低下することは間違いなく、明らかに高速です。 PHP4
2. PHP4.4 のクラスの解析パフォーマンスは関数の解析パフォーマンスよりも明らかに遅く、特に継承を使用すると急激に低下するため、PHP4.4 ではプロセス指向および非継承を使用する方が適しています。クラスの操作
3. PHP5.2では関数よりもクラスの実行速度が速くなっていることから、PHP5.2のエンジンがオブジェクト指向の処理に多くの労力を費やしていることがわかります。同時に、関数であってもクラスであっても、パフォーマンスは同じです
。4. このテストを通じて、コードをほとんど変更せずに PHP4 を PHP5 にアップグレードする十分な理由が得られました。また、PHP5 は、一部の特殊なコードを除いて、基本的に PHP4 のコードと下位互換性があります。また、上記でも触れましたが、PHP グループは今年末以降 PHP4 の保守を継続しなくなる予定ですので、早めにアップグレードしてご安心ください。