php性能测试代码,php7简单性能测试代码实例详解

测试版本:

旧版 PHP 5.5.29 ,新版 PHP 7.0.0

测试方法:class PerformanceTest

{

private $time;

private $memory;

public function begin()

{

$this->time = $this->getTime();

$this->memory = $this->getMemory();

}

public function end()

{

$this->time = $this->getTime() - $this->time;

$this->time = round($this->time,7);//在这里才能格式化时间

$this->memory = $this->getMemory() - $this->memory;

$this->memory = $this->convert($this->memory);

echo "time:{$this->time}秒
";

echo "memory:{$this->memory}
";

}

public function getTime()

{

list($usec, $sec) = explode(" ", microtime());

return ((float)$usec + (float)$sec);

}

public function getMemory()

{

return memory_get_usage();

}

public function convert($size)

{

$unit=array('b','kb','mb','gb','tb','pb');

return @round($size/pow(1024,($i=floor(log($size,1024)))),2).' '.$unit[$i];

}

}

1.生成五十万个数组,并查询五十万次 key 是否存在$a = array();

$b = new PerformanceTest();

$b->begin();

for($i=0;$i<500000;$i++){

$a[$i] = $i;

}

foreach($a as $i)

{

array_key_exists($i, $a);

}

$b->end();

/***

php 5.5n

time:0.131秒

memory:40.15 mb

php 7.0n

time:0.0780001秒

memory:14 mb

***/

测试结果如下:

➜ time php test.php

php test.php

0.60s user

0.05s system

98% cpu

0.667 total

➜ time /usr/local/php7/bin/php test.php

/usr/local/php7/bin/php test.php

0.05s user

0.02s system

92% cpu

0.073 total

PHP7 速度是 PHP5.5 的 9 倍

2. 生成五十万个数组,并查询五十万次 value 是否存在$a = array();

$b = new PerformanceTest();

$b->begin();

for($i=0;$i<10000;$i++){

$a[$i] = $i;

}

foreach($a as $i)

{

in_array($i, $a);

}

$b->end();

/***

php 5.5n

time:0.6560001秒

memory:845.49 kb

php 7.0n

time:0.095秒

memory:388 kb

***/

➜ time php test.php

php test.php

0.79s user

0.01s system

99% cpu

0.809 total

➜ time /usr/local/php7/bin/php test.php

/usr/local/php7/bin/php test.php

0.08s user

0.01s system

97% cpu

0.091 total

PHP7 速度是 PHP5.5 的 8.7 倍

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值