文档章节

php7简单性能测试

燕玉苗
 燕玉苗
发布于 2015/06/16 17:24
字数 546
阅读 4474
收藏 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

没有更多内容

加载失败,请刷新页面

加载更多

申请Let's Encrypt永久免费SSL证书

环境安装 1、安装git yum install git-core 2、安装python 系统自带 不用安装 只要版本大于2.7即可。 获取Let's Encrypt免费SSL证书 先停止nginx 在阿里云安全组里加入 443端口的入规则 git ...

HGMrWang
28分钟前
1
0
如何使用playframework进行更好的开发

1: 自定义基类Controller 相信刚开始使用Play的人写的Controller 都继承于 play.mvc.Controller , 但这并不是一个很好的选择,自建基类Controller可以扩展更多的功能。 1.1 验证功能。 后台...

tuerqidi
32分钟前
4
0
解决ubuntu下root用户 不能ftp登陆的问题

解决ubuntu下root用户 不能ftp登陆的问题 一般情况下,由于种种原因ftp是不让root用户远程登陆,但只要你修改以个文件就可以登陆了. 注释掉 /etc/ftpusers 中的root即可 (最后重启vsftpd serv...

15834278076
44分钟前
0
0
《JavaScript高级程序设计(第3版)》阅读笔记

第6章 面向对象的程序设计 6.2 创建对象 6.2.1 工厂模式 JavaScript创建对象(一)—— 工厂模式 6.2.2 构造函数模式 JavaScript创建对象(二)——构造函数模式 6.2.3 原型模式 JavaScript...

Bob2100
49分钟前
1
0
Windows小技巧 – Win+R提高Windows使用效率

追求效率的朋友都需要一款顺手的快速启动工具,Win 平台上有键盘流的RunZ、Listary、ALTRun、Launchy、Wox 和图标流的 Fences、Rolan、 WinLaunch 等,而 Mac 上也有 Alfred、Spotlight。 而...

QQZZFT
51分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部