PHP内置的Math函数效率测试

yipeiwu_com5年前PHP代码库

本文实例分析了PHP内置的Math函数效率问题。分享给大家供大家参考。具体分析如下:

如题所示,对于没有做过大规模运算的朋友来说,可能还不知道,PHP的Math函数运算原来是如此之慢的,大家还是麻烦点,手写多几句,代码如下:

复制代码 代码如下:
$start = microtime(TRUE);   
for ($i=0; $i < 200000; $i++){   
    $s = 0;
    for ($j=0; $j < 3; $j++){    
       $s += ($j+$i+1) * ($j+$i+1);
    }   
}   
echo microtime(TRUE) – $start;  // output: 0.33167719841003

再对比下用Math函数的代码和结果,代码如下:
复制代码 代码如下:
$start = microtime(TRUE);   
for ($i=0; $i < 200000; $i++){
    $s = 0;
    for ($j=0; $j < 3; $j++){
       $s += pow($j+$i+1, 2);
    }
}
echo microtime(TRUE) – $start;   // output: 0.87528896331787

看到木有,效率提升100%!!以前还一直都认为是PHP内置的Math快,真是不测不知道,像取绝对值abs,最大值max,最小值min 等效率都不如原生的 if判断来得快.

总的来说,php运算的确是很慢,真心不适合做大规模的算法运算.希望本文所述对大家的PHP程序设计有所帮助。

相关文章

编写漂亮的代码 - 将后台程序与前端程序分开

在编写PHP程序时,有些代码是用来处理一些事务,例如操作数据库、进行数学运算等,而另外的一些代码则只是事务处理的结果显示出来,例如一些使用echo语句将结果以HTML的格式显示在Web浏...

php中adodbzip类实例

本文实例讲述了php中adodbzip类程序代码。分享给大家供大家参考。具体如下: 复制代码 代码如下:<?php /**  * AdodbZip 1.1...

浅析PHP开发规范

基本约定 源文件 代码使用<?php开头,忽略闭合标签?> 文件格式必须是无BOM UTF-8格式 一个文件只声明一种类型,如class和interfa...

php中session定期自动清理的方法

下文来为各位介绍PHP设置session定期自动清理的例子了,因为session默认是15分钟自动把变量给清除内存了,但有一些时间并不生效了,下面我们就来看看。 配置完成php后默认ph...

PHP时间处理类操作示例

本文实例讲述了PHP时间处理类操作。分享给大家供大家参考,具体如下: php中的几个时间处理类:DateTime,DateTimeZone,DateInterval,DatePeriod...