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 进程锁定问题分析研究

1. 区分读锁定 和 写 锁定。 如果每次都使用 写锁定,那么连多个进程读取一个文件也要排队,这样的效率肯定不行。 2. 区分 阻塞 与 非 阻塞模式。 一般来说,如果一个进程在写一个文...

PHP堆栈调试操作简单示例

本文实例讲述了PHP堆栈调试操作。分享给大家供大家参考,具体如下: 你是否想知道当前函数被哪些文件调用了,如果知道了这些路径,我们就能很好的理解程序的执行过程,这是非常重要的,也是了解别...

PHP实现的redis主从数据库状态检测功能示例

本文实例讲述了PHP实现的redis主从数据库状态检测功能。分享给大家供大家参考,具体如下: 实例: <?php /** * 检测多个主从redis数据库是否挂掉...

JSON字符串传到后台PHP处理问题的解决方法

在项目开发的时候由于涉及到批量记录数组的传入,由于字段多,所以不可能能用普通的方式&a=322&=gsd&v=rwe 这样去传送,所以想到了前端传JSON格式过去content=[{'a...

PHP游戏编程25个脚本代码

清单 1.简单的掷骰器 许多游戏和游戏系统都需要骰子。让我们先从简单的部分入手:掷一个六面骰子。实际上,滚动一个六面骰子就是从 1 到 6 之间选择一个随机数字。在 PHP 中,这十分简...