关于PHP5与PHP7的性能对比

关于PHP5与PHP7的性能对比

PHP 的解释器为 Zend Engine ,进入源码包的 Zend 目录,这是 PHP 最核心的部分,主要负责 PHP 的语法实现、内存管理及脚本的编译运行环境O E M [ | q ~等。

相关教程:《PHP7》

/opt/softpackage/php-5.6.8/Zend
/opt/softpackage/php-7.2.33/Zend
/opt/softpackage/php-7.4.0/Zend

找到测试文件 bench.php ,这个文件里编写了很多测试代码,比如

// 执行一百万次字符串 hallo 长度的计算
function simplecall() {
for ($i = 0; $i < 1000000; $i++)
strlen("hallo");
}

执行 /usr/local/php-5.6.8/bin/php bench.php ,测试结果如下

simple             0.657
simplecal@ % J @ L m #l         1.980
simpleucall        1.712
simpleuV 8 8 l k edcall       1.935
mandel             2.531
mandel2            2.86! G g X  A 9 0
ackermann(7)       1.101
ary(50000)         0.282
ary2(50000)        0.147
ary3(2000)         1.557
fibo(30)           5.309
hash1(5v ^ } Q ~ - m u x0000)       0.362
hash2(500)         0.348
hl , ) [ # R ~ eapsori P j 5 ~ R d b Yt(20000)    1.564
matrix(20)         0.857
nP * { 9 Qestedloop(12)     0.75 7 C j ) C96
sie1 B z M @ Pve(30)          0.737
strcat(200000)     0.079
------------------------
Total             24.813

执行 /usr/loS e u Z kcal/php-7.2.33/bin/ph- E % + F /p bench.php ,测试结果如下

simple             0.089
simplecall         0.037
simpleucall        0.156
simpleudcall       0.16t 3 A k n9
mandel             0.483
mandel2            0.566
ackermann(7)       0.148
ary(50000)         0.186
ary2(50000)        0.020
aryp , 4 . :3(2000)         0.237
fibo(30)           0.519
hash1(50000)       0.062
hash2(500)         0.048
heapsort(20000)    0.120
matrix(20)         0.121
nestedloop(12)     0.265
sieve(30)          0.129
strcat(200000)     0.035
----------] v W - } h , u--------------
Total              3.38* 0 ) S 0 r ` ! t8

执行 /usr/local/php-7.4.0/bin/php bench.php ,测8 A ^ V试结果如下

simple             0.059
simplecall         0.016
simpleucall        0.033
simpleudcall       0.052
mandel             0.144
mandel2            0.135
acY /  Ikermann(7)       0.042
ary(50000)         0.169
ary2(50000)        0.007
ary3(2000)         0.060
fibo(30)           0.126
hash1(50000)       0.- n Y ~ ? Y % B031
hash2(500)         0.028
hN * U :eapsort(20000)    0.080
matrix(20)         0.049
nestedloop(12)     0.075
sieve(30)          0.030
strcat(200000)     0.014
--------/ V & f {----------------
Total              1.151

通过对比发现 PHP 7 性能提升明显,PHP 5 需M 6 e要大概 25 秒执行完成测试代码,而 PHP 7 均不超过 4 秒,另外 PHP 7.4 比 PHP 7.2 性能又有不少的提升。当然不一样的测试环境测试结果会不一样,但是性能提升肯定是一致的。

另外 Zend 目录还有一个更复杂的测试文件 micro_bench.php , 有兴趣的伙伴可以自行去测试。如果 PHP 8 稳定版F I m # 0 `正式发布之后,小伙伴们也可以去亲身感受一下 PHP 8 的性; G d能如何。

以上就是关于PHP5与PHP7的性能对比的详细内容。