ホームページ  >  記事  >  バックエンド開発  >  PHP5 にアップグレードする理由: PHP4 と PHP5 のパフォーマンス比較_PHP チュートリアル

PHP5 にアップグレードする理由: PHP4 と PHP5 のパフォーマンス比較_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:30:061028ブラウズ

PHP 4 は今年末までに PHP グループによるサポートが終了するため、皆さんがより安心して PHP 5 プラットフォームに移行できるようにするために、私は特別にこのテストを実施して、PHP 4 がサポートされているかどうかを確認しました。テスト結果は、オブジェクト指向とプロセス指向の両方の点で PHP 4.x よりも高速であることを示しています。したがって、誰もが PHP に移行する必要があります。 5.x. PHP 5.x プラットフォームでは、PHP 5.x プラットフォームのさまざまな機能とパフォーマンスを体験できます。

PHP 5 には新しいオブジェクト モデル、より多くの新機能が含まれており、処理速度、特にオブジェクト指向コードの処理速度が向上しています。PHP 4 のオブジェクト指向コードの速度は比較的平均的ですが、PHP5.x では。オブジェクト指向コードの速度はプロシージャ指向コードの速度を超えているため、オブジェクト指向コードのパフォーマンスを疑う必要はありません。次のテスト結果がこれをすべて示しています。

【テスト環境】
  • CPU: インテル Pentium4 2.66GHz
  • メモリ: 1GB
  • ディスク: 73GB/SCSI
  • OS: FreeBSD 4.11
  • Web: Apache 1.3.37
    テストツール: ab (http_load も使用可能)
    名詞 RPS: Requests per Second (1 秒あたりのリクエスト数)
関連

テストツール: ab (http_loadも使用可能)

名詞RPS: Requests per Second (1秒あたりのリクエスト数)

【PHP 4.4.2 テスト結果】 】

【機能】

function signed(){
echo "test";
}
signin();
?>

テスト結果: ab -n 10000 -c 50 の結果は1047.23/rps

[クラス Class]

クラスをインスタンス化しません

class User{
function signed(){
echo "test";
}
}
User::signin();
?>

テスト結果: ab -n 10000 -c 50 の結果は1034.98/rps

インスタントクラス

class User{
function signed(){
echo "test";
}
}
$user=new User();
$user->signin();
?>

テスト結果: ab -n 10000 -c 50 の結果は1006.14/rps

クラス継承

class AUser{
Function signed(){}
}
claāss User extends Auser{
function signed(){
echo "test";
}
}
$user=new User();
$user->signin();
?>

テスト結果:ab -n 10000 -c 50の結果は992.95/rps

【PHP 5.2.1テスト結果】

【関数】

function signed(){
echo "test";
}
signin();
?>

テスト結果: ab -n 10000 -c 50 の結果は1176.06/rps

[クラス Class]

クラスをインスタンス化しません

? & Lt;? Php
パブリック関数サインイン () {
エコー "テスト" } } ユーザー :: サインイン
;
テスト結果: ab -n 10000 -c 50 の結果は
1197.17/rps


インスタントクラス


class User{
public function signed(){ echo "test";
}
}
$user=new User();
$user->signin();
?>

テスト結果: ab -n 10000 -c 50 の結果は1187.93/rps

クラスの継承と抽象化

抽象クラスAUser{
抽象関数signin();
}
class User extends Auser{
パブリック関数signin(){
echo "test";
}
}
$user=new User() ;
$user->signin();
?>

テスト結果: 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 の保守を継続しなくなる予定ですので、早めにアップグレードしてご安心ください。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/509196.html技術記事 PHP 4 は、今年末までに PHP グループによるサポートが終了する予定です。そのため、皆さんがより自信を持って PHP 5 プラットフォームに移行できるようにするために、私たちの PHP 4.x が本当にサポートされているかどうかを確認するために特別にこのテストを実施しました。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。