Home  >  Article  >  Backend Development  >  Reasons to upgrade to PHP5: Performance comparison between PHP4 and PHP5_PHP Tutorial

Reasons to upgrade to PHP5: Performance comparison between PHP4 and PHP5_PHP Tutorial

WBOY
WBOYOriginal
2016-07-13 17:30:061027browse

PHP 4 will no longer be supported by PHP Group by the end of this year, so in order to give everyone more confidence in moving to the PHP 5 platform, I specially conducted this test to see if our PHP 4. Our PHP 5.x is much easier to handle, and the test results are very obvious, that is, PHP 5.x is faster than PHP 4.x in both object-oriented and process-oriented terms, so it is completely necessary for everyone to move to PHP 5.x platform to experience the various functions and performance of the PHP 5.x platform.

Because PHP 5 includes a new object model, more new features, and faster processing speed, especially the speed of processing object-oriented code. Although the speed of object-oriented code in PHP 4 is relatively average, in The speed of object-oriented code in PHP5.

【Test environment】
  • CPU: Intel Pentium4 2.66GHz
  • Memory: 1GB
  • Disk: 73GB/SCSI
  • OS: FreeBSD 4.11
  • Web: Apache 1.3.37
    Test tool: ab (http_load can also be used)
    Noun RPS: Requests per second ( Number of requests per second)
Related

Test tool: ab (http_load can also be used)

Noun RPS: Requests per second (per second Number of requests)

 [PHP 4.4.2 test results]

 [Function]

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

Test results: The result of ab -n 10000 -c 50 is 1047.23/rps

[Class]

Not instantiated Class

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

Test results: The result of ab -n 10000 -c 50 is 1034.98/rps

Instantiated class

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

Test results: The result of ab -n 10000 -c 50 is 1006.14/rps

Class inheritance

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

Test result: The result of ab -n 10000 -c 50 is 992.95/rps

 【 PHP 5.2.1 test results】

 [Function]

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

Test result: The result of ab -n 10000 -c 50 is 1176.06/rps

 [Class]

Do not instantiate class

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

Test results: The result of ab -n 10000 -c 50 is 1197.17/rps

Instantiated class

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

Test results: The result of ab -n 10000 -c 50 is 1187.93/rps

Class inheritance and abstraction

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

Test results: The result of ab -n 10000 -c 50 is 1128.54/rps

【Test results and analysis】

 [Test result data]

Version Function testing Do not instantiate class Instance class Class inheritance
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
版本 函数测试 不实例化类 实例化类 类的继ā承
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








 [Result Analysis]

1. Overall Say, it is obvious that the performance of PHP5.2 is slightly higher than that of PHP4.4, so don’t doubt that the performance of PHP5.2 will be worse, it is obviously faster than PHP4

 2. The parsing performance of classes in PHP4.4 is obviously slower than that of functions, especially when inheritance is used, it drops dramatically, so in PHP4.4 it is more suitable to use process-oriented and non-inherited class operations

 3.
The result in PHP5.2 is that the execution speed of classes is faster than that of functions. It can be seen that the engine of PHP5.2 has spent a lot of effort on object-oriented processing. At the same time, they Whether it is a function or a class, the performance is good

 4.
Through this test, we have every reason to upgrade PHP4 to PHP5 with little code change, and PHP5 is basically The code is compatible with PHP4, except for some special codes. In addition, it is mentioned above that PHP Group will no longer continue to maintain PHP4 after the end of this year, so upgrade early and have peace of mind.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/509196.htmlTechArticlePHP 4 will no longer be supported by PHP Group by the end of this year, so in order to give everyone more confidence Moving to the PHP 5 platform, I specially did this test to see if our PHP 4.x is really...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn