PHP 4とPHP 5の性能試験と比較テストコードと環境
2688 ワード
2007年8月6日PHP 4から今年末までPHP Groupはこれを支持しなくなりますので、PHP 5プラットフォームにもっと自信を持って移行するために、このテストを行いました。PHP 4.xの性能は私達のPHP 5.xより良いですか?テスト結果は明らかです。それはPHP 5.xがPHP 4.xよりも対象に向かっても、プロセスに向かってもPHP 4.xより速いので、PHP 5.xプラットフォームに移して、PHP 5.xプラットフォームの様々な機能と性能を体験する必要があります。
PHP 5は新しい対象モデルを含むので、より多くの新しい特徴があり、より速い処理速度、特に対象コードに向かう速度は、PHP 4では対象コードに向かう速度が一般的ですが、PHP 5.xでは対象コードに向かう速度がプロセスに向かう速度を超えています。以下のテスト結果はこのすべてを説明します。
【試験環境】 CPU:Intel Pentium 4 2.66 GHz
メモリ:1 GB
Disk:73 GB/SCSI
OS:FreeBSD 4.11
Web:Apache 1.3637テストツール:ab(http_も選択できます。load)名詞RPS:Requests per second(毎秒の要求数)関連テストツール:ab(http_も選択できます。load)名詞RPS:Requests per second(毎秒の要求数)
【PHP 4.4.2試験結果】
[関数Function]
<?phpfunction signin(){echo"test";signin()>>試験結果:ab-n 10000-c 50の結果は107.23/rps[クラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラス]です。
非現実化クラス試験結果:ab-n 10000-c 50の結果は103.98/rpsの実用化クラスです。phpclass User{function signin}user=new User();user->signin()?>試験結果:ab-n 10000-c 50の結果は1006.14/rps類の継承です。phpclass AUser{function signin}class User extens Auser{function signin}$user=new User();user->signin()?>試験結果:ab-n 10000-c 50の結果は992.95/rpsです。
【PHP 5.2.1試験結果】
[関数Function]
<?phpfunction signin(){echo"test";signin()>>試験結果:ab-n 10000-c 50の結果は1176.06/rps[クラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラス]です。
非現実化クラス試験結果:ab-n 10000-c 50の結果は1197.17/rpsです。
インスタンスクラスsignin()?>テスト結果:ab-n 10000-c 50の結果は1187.93/rps類の継承と抽象です。phpabstract class AUser{abstract function signin];class User extens Auser{public function signin}user=new User();user->signin()?>試験結果:ab-n 10000-c 50の結果は1128.54/rpsです。
【試験結果と分析】
[試験結果データ]
バージョン
関数テスト
非現実化クラス
インスタンスクラス
クラスの継承
PHP 4.4.2
107.23/rps
103.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.全体としては、PHP 5.2の性能はPHP 4.4よりやや高いことが明らかになりましたので、PHP 5.2の性能が悪いと疑わないでください。明らかにPHP P 4より速いです。PHP 4.4のクラスの解析性能は明らかに関数より遅いです。特に使用した後は、より低いのがすごいです。PHP 4.4の中ではプロセスに向いているタイプと継承していないタイプの操作に適しています。PHP 5.2の結果はクラスの実行速度が関数より速いので、PHP 5.2のエンジンは対象に向けて処理するのに大変な手間がかかっていることが分かります。また、彼らは関数でもクラスでも性能がいいです。このテストを通して、コードの変更が大きくないという理由があります。PHP 4をPHP 5にアップグレードし、PHP 5は基本的に下方向にPHP 4のコードに対応しています。また、今年の年末以降はPHP GroupがPHP 4のメンテナンスを続けなくなりますので、早くアップグレードして安心してください。
PS:同僚の健祥さんに一部のテストコードを提供してくれてありがとうございます。
PHP 5は新しい対象モデルを含むので、より多くの新しい特徴があり、より速い処理速度、特に対象コードに向かう速度は、PHP 4では対象コードに向かう速度が一般的ですが、PHP 5.xでは対象コードに向かう速度がプロセスに向かう速度を超えています。以下のテスト結果はこのすべてを説明します。
【試験環境】
【PHP 4.4.2試験結果】
[関数Function]
<?phpfunction signin(){echo"test";signin()>>試験結果:ab-n 10000-c 50の結果は107.23/rps[クラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラス]です。
非現実化クラス
【PHP 5.2.1試験結果】
[関数Function]
<?phpfunction signin(){echo"test";signin()>>試験結果:ab-n 10000-c 50の結果は1176.06/rps[クラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラスクラス]です。
非現実化クラス
インスタンスクラス
【試験結果と分析】
[試験結果データ]
バージョン
関数テスト
非現実化クラス
インスタンスクラス
クラスの継承
PHP 4.4.2
107.23/rps
103.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.全体としては、PHP 5.2の性能はPHP 4.4よりやや高いことが明らかになりましたので、PHP 5.2の性能が悪いと疑わないでください。明らかにPHP P 4より速いです。PHP 4.4のクラスの解析性能は明らかに関数より遅いです。特に使用した後は、より低いのがすごいです。PHP 4.4の中ではプロセスに向いているタイプと継承していないタイプの操作に適しています。PHP 5.2の結果はクラスの実行速度が関数より速いので、PHP 5.2のエンジンは対象に向けて処理するのに大変な手間がかかっていることが分かります。また、彼らは関数でもクラスでも性能がいいです。このテストを通して、コードの変更が大きくないという理由があります。PHP 4をPHP 5にアップグレードし、PHP 5は基本的に下方向にPHP 4のコードに対応しています。また、今年の年末以降はPHP GroupがPHP 4のメンテナンスを続けなくなりますので、早くアップグレードして安心してください。
PS:同僚の健祥さんに一部のテストコードを提供してくれてありがとうございます。