PHP内置的Math函数效率测试

yipeiwu_com6年前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内置SERVER开启web服务(本地开发使用)

利用PHP内置SERVER开启web服务(本地开发使用)

PHP 5.4.0起, CLI SAPI 提供了一个内置的Web服务器,这个内置的Web服务器主要用于本地开发使用,不可用于线上产品环境。URI请求会被发送到PHP所在的的工作目录(Wo...

深入密码加salt原理的分析

我们知道,如果直接对密码进行散列,那么黑客可以对通过获得这个密码散列值,然后通过查散列值字典(例如MD5密码破解网站),得到某用户的密码。加Salt可以一定程度上解决这一问题。所谓加Sa...

盘点PHP和ASP.NET的10大对比!

盘点PHP和ASP.NET的10大对比!

在网上论坛,总是有成百上千的文章和帖子在讨论 PHP 和 ASP.NET,究竟谁才是更好的平台?不过很可惜,大部分人的观点总是带有偏见的,人们总会有意无意地推广自己喜欢的语言。 此外,如...

PHP中ini_set与ini_get用法实例

本文实例讲述了PHP中ini_set与ini_get的用法。分享给大家供大家参考。具体如下: PHP ini_set函数。 PHP ini_set函数是设置选项中的值,在执行函数后生效,...

利用PHP自动生成印有用户信息的名片

利用PHP自动生成印有用户信息的名片

前言 无论是自己要在精心P过的自拍上添加个性文字,或者是摄影爱好者要在拍摄的作品里添加水印,亦或是在网页或者移动应用中实时生成文字和图片的组合,我们都需要找到一个合适且靠谱的方法来将图片...