文档章节

php7简单性能测试

燕玉苗
 燕玉苗
发布于 2015/06/16 17:24
字数 546
阅读 4365
收藏 1

(一) 一个简单的测试 看看php7跑多快(就不罗列电脑配置了,因为环境是一样的)
1 测试代码:

<?php
/**
 * test.php ; compare php5.6.7 with php7.0.0alphal on time and memory by this simple program
 */

function microtime_float()
{
    list($usec, $sec) = explode(" ", microtime());
    return ((float)$usec + (float)$sec);
}

$time_start = microtime_float();
$memory_start = memory_get_usage();
echo "Time start $time_start\n";
echo "Memory start $memory_start\n";
// Sleep for a while
//usleep(100);

$sum = 0;
for($i=1; $i<=100000000; $i++)
{
    $sum+=$i;
}
$i--;
echo "Sum(1+2+3+...+$i) = $sum\n";

$time_end = microtime_float();
$memory_end = memory_get_usage();
echo "Time end $time_end\n";
echo "Memory end $memory_end\n";

$time = $time_end - $time_start;
$memory = $memory_end - $memory_start;
//echo "Did nothing in $time seconds\n";

echo "Sub time $time seconds\n";
echo "Sub momory $memory byte\n";
?>

2 测试结果:


运行速度:php5.6.7用时3.5s,php7用时2.0s,php7在运行速度上有了很大的提升
内存增量:这方面php7优势更明显,php5.6.7内存增量是640byte,而php7的内存增量只有32byte
内存消耗:php7开始时内存使用量要多于php5.6.7,应该是引擎做了更多的预处理工作

(二)兼容问题
1 当给php7安装扩展的时候发现报错 error: ext/standard/php_smart_str.h: No such file or directory
之前给php5.6.7安装这个扩展的时候是没有问题的,于是我搜索了一下
➜ find / -name php_smart_str.h
/usr/local/php/include/php/ext/standard/php_smart_str.h
/usr/local/src/php-5.4.35/ext/standard/php_smart_str.h
/usr/local/src/php-5.6.7/ext/standard/php_smart_str.h
看结果两个源包中都有这个文件 当前安装的php目录里面也有这个文件 但是php7的源包和安装目录中都没有这个文件
➜ ~ ls /usr/local/src/php-5.6.7/ext/standard | grep php_smart_str
php_smart_str.h
php_smart_str_public.h
➜ ~ ls ~/Downloads/php-7.0.0alpha1/ext/standard | grep php_smart_str
php_smart_string.h
php_smart_string_public.h
看这个名字在php7的源码包中有php_smart_string.h这个文件 用Bcompare对比了俩文件 差很多
且不说这个源文件是什么作用,老版本有而php7源包里面没有,这应当算是个兼容性问题

(三)总结
php7在运行速度上确实有了质的飞跃,这是最重要的也是最令人振奋的,据鸟哥说速度已经和hhvm不差了
php7alphal版本在安装扩展的时候非常鸡肋,如果你用到很多扩展,那么还是等正式版本吧

© 著作权归作者所有

共有 人打赏支持
燕玉苗
粉丝 7
博文 5
码字总数 1776
作品 0
海淀
程序员
加载中

评论(1)

陈洁新
陈洁新
我也遇到这个问题了。
探索PHP7(一)--性能

在2015年12月2号,鸟哥的在开源中国发布的新闻写在 PHP 7 发布之际一些话,小编意识到从8月份发布第一个公测版到现在经过了将近4个月的等待PHP7正式版本终于发布了,所以果断装上了一个玩玩,确实...

喵了_个咪
2015/12/06
373
2
你的网站主机支持PHP7了吗?

如果要问企业建站采用哪种编程语言最为主流,那毫无疑问的当属PHP。单说流行程度,目前全球超过81.7%的服务器后端都采用了PHP语言,它驱动着全球绝大多数的网站。随着PHP7 的发布,很多主机空...

it1000001001
2017/03/07
271
0
让你的 PHP 7 更快 (GCC PGO)

编者注:本文是 PHP 大神 —— 鸟哥 @Laruence 的作品,原文地址:http://www.laruence.com/2015/06/19/3063.html 我们一直致力于提升PHP7的性能, 上个月我们注意到GCC的PGO能在Wordpress上能...

oschina
2015/06/20
8.6K
40
Laravel5 ,phpng(php7) vs php5.4 性能测试

本次测试目的是想看看php7能给laravel5带来多大提升,采用php内置server,测试基于welcome路由,增加了Eloquent模型查询语句,测试结果仅供参考。 测试环境: macbook pro i5+ssd+8g内存 硬件...

吾爱
2016/11/09
203
0
蝉知建站系统PHP7性能测评

2015年底PHP7正式面世了,这是PHP语言发展史的一个重要里程碑,它带来了显著的性能提升和新特性,并对之前版本的一些特性进行了改进。今天我在虚拟机中分别搭建了相同环境LAMP,PHP版本分别是...

it1000001001
2017/03/06
189
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

MySQL 乱七八糟的可重复读隔离级别实现

MySQL 乱七八糟的可重复读隔离级别实现 摘要: 原文可阅读 http://www.iocoder.cn/Fight/MySQL-messy-implementation-of-repeatable-read-isolation-levels 「shimohq」欢迎转载,保留摘要,谢...

DemonsI
42分钟前
2
0
Spring源码阅读——2

在阅读源码之前,先了解下Spring的整体架构: 1、Spring的整体架构 1. Ioc(控制反转) Spring核心模块实现了Ioc的功能,它将类与类之间的依赖从代码中脱离出来,用配置的方式进行依赖关系描...

叶枫啦啦
今天
1
0
jQuery.post() 函数格式详解

jquery的Post方法$.post() $.post是jquery自带的一个方法,使用前需要引入jquery.js 语法:$.post(url,data,callback,type); url(必须):发送请求的地址,String类型 data(可选):发送给后台的...

森火
今天
0
0
referer是什么意思?

看看下面这个回答(打不开网页可以把网址复制到搜索栏): https://zhidao.baidu.com/question/577842068.html

杉下
今天
1
0
使用U盘安装CentOS-解决U盘找不到源

1. 使用UltraISO制作CentOS安装盘 如果需要安装带界面的系统,为保证安装顺利,可选择Everything版本的ISO制作安装盘。 2. 在BIOS中选择使用U盘安装 系统启动后,进入安装选择界面,其中有三...

Houor
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部