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实现文件下载断点续传详解

如果我们的网站提供文件下载的服务,那么通常我们都希望下载可以断点续传(Resumable Download),也就是说用户可以暂停下载,并在未来的某个时间从暂停处继续下载,而不必重新下载...

php常用日期时间函数实例小结

本文实例讲述了php常用日期时间函数。分享给大家供大家参考,具体如下: 时间戳 时间戳我就不赘述了,手册里有,就是能精确的表示一个时间点。我在做项目的时候经常用时间戳来表示数据,这样比较...

PHP删除HTMl标签的实现代码

复制代码 代码如下:/** * 取出html标签 *  * @access public * @param string str * @...

PHP实现浏览器中直接输出图片的方法示例

本文实例讲述了PHP实现浏览器中直接输出图片的方法。分享给大家供大家参考,具体如下: 在浏览器中输出图片,最简单的方法当然是使用HTML的img标签,直接传入图片路径或者链接。但有时候我...

linux下安装php的memcached客户端

linux下安装php的memcached客户端

下面将介绍安装php的memcached客户端安装步骤 1、下载安装libmemcached客户端 官网地址:http://libmemcached.org/libMemcached.h...