php7为什么比5快

在php版本进行升级后,我们能够明显感觉到,php的速度运行比较快了,这是由于其中的性能进行了一些调整,下面我们一起来探究php7比5运行快速的原因。

1、存储变量的结构体变小,尽量使结构体里成员共用内存空间,减少引用,这样内存占用降低,变量的操作速度得到提升。

2、字符串结构体的改变,字符串信息和数据本身原来是分成两个独立内存块存放,php7尽量将它们存入同一块内存,提升了cpu缓存命中率。

3、数组结构的改变,数组元素和hash映射表在php5中会存入多个内存块,php7尽量将它们分配在同一块内存里,降低了内存占用、提升了cpu缓存命中率。

4、改进了函数的调用机制,通过对参数传递环节的优化,减少一些指令操作,提高了执行效率。

<?php
$startTime = microtime(true);
$startMemory = memory_get_usage();
$a = 1;
for ($i = 1; $i <= 100000; $i++) {
    $a++;
}
echo $a;
$endTime = microtime(true);
$runtime = ($endTime - $startTime) * 1000;//将时间转换为毫秒
$endMemory = memory_get_usage();
$usedMemory = ($endMemory - $startMemory) / 1024;
echo "运行时间: {$runtime} 毫秒<br/>";
echo "耗费内存: {$usedMemory} K";

以上代码是记录php运行100000次循环需要的时间和消耗的内存。

php7运行情况

100001运行时间: 2 – 5 毫秒

耗费内存: 0.03125 K

php5.5运行情况

100001运行时间: 13 – 20 毫秒

耗费内存: 0.734375 K

以上就是php7比5快的原因分析,基于php7的特性,我们在总结出具体的一些运行效率提升的原因后,可以运行不同版本的实例进行体会.

发表回复

京ICP备15027918号-1