PHP内置的Math函数效率测试


Posted in PHP onDecember 01, 2014

本文实例分析了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 相关文章推荐
不用数据库的多用户文件自由上传投票系统(2)
Oct 09 PHP
php 异常处理实现代码
Mar 10 PHP
php set_time_limit(0) 设置程序执行时间的函数
May 26 PHP
PHP 第二节 数据类型之数值型
Apr 28 PHP
php解析xml提示Invalid byte 1 of 1-byte UTF-8 sequence错误的处理方法
Nov 14 PHP
Yii查询生成器(Query Builder)用法实例教程
Sep 04 PHP
初识laravel5
Mar 02 PHP
PHP四种基本排序算法示例
Apr 09 PHP
浅谈PHP的排列组合(如输入a,b,c 输出他们的全部组合)
Mar 14 PHP
全面解析PHP面向对象的三大特征
Jun 10 PHP
2017年最好用的9个php开发工具推荐(超好用)
Oct 23 PHP
PHP实现的pdo连接数据库并插入数据功能简单示例
Mar 30 PHP
php查找字符串出现次数的方法
Dec 01 #PHP
ThinkPHP实现动态包含文件的方法
Nov 29 #PHP
PHP静态文件生成类实例
Nov 29 #PHP
ThinkPHP实现非标准名称数据表快速创建模型的方法
Nov 29 #PHP
PHP实现的简单日历类
Nov 29 #PHP
PHP实现货币换算的方法
Nov 29 #PHP
php实现的树形结构数据存取类实例
Nov 29 #PHP
You might like
计数器详细设计
2006/10/09 PHP
解决file_get_contents无法请求https连接的方法
2013/12/17 PHP
php防止CC攻击代码 php防止网页频繁刷新
2015/12/21 PHP
配置Nginx+PHP的正确思路与过程
2016/05/10 PHP
jQuery 解析xml文件
2009/08/09 Javascript
javascript预览上传图片发现的问题的解决方法
2010/11/25 Javascript
Jquery实现图片放大镜效果的思路及代码(自写)
2013/10/18 Javascript
node.js中的http.request方法使用说明
2014/12/14 Javascript
javascript使用smipleChart实现简单图表
2015/01/02 Javascript
angularjs 处理多个异步请求方法汇总
2015/01/06 Javascript
网页从弹窗页面单选框传值至父页面代码分享
2015/09/29 Javascript
基于JS实现PHP的sprintf函数实例
2015/11/14 Javascript
如何通过js实现图片预览功能【附实例代码】
2016/03/30 Javascript
jQuery实现边框动态效果的实例代码
2016/09/23 Javascript
JavaScript之浏览器对象_动力节点Java学院整理
2017/07/03 Javascript
基于AngularJS实现表单验证功能
2017/07/28 Javascript
Vue2.0学习之详解Vue 组件及父子组件通信
2017/12/12 Javascript
记录一篇关于redux-saga的基本使用过程
2018/08/18 Javascript
JS使用队列对数组排列,基数排序算法示例
2019/03/02 Javascript
vue动态禁用控件绑定disable的例子
2019/10/28 Javascript
JavaScript实现简易聊天对话框(加滚动条)
2020/02/10 Javascript
JS实现悬浮球只在一侧滑动并且是横屏状态下
2020/08/19 Javascript
[59:30]VG vs LGD 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.22
2019/09/05 DOTA
Python常见工厂函数用法示例
2018/03/21 Python
Python绘制的二项分布概率图示例
2018/08/22 Python
python zip()函数使用方法解析
2019/10/31 Python
django 框架实现的用户注册、登录、退出功能示例
2019/11/28 Python
pytorch对梯度进行可视化进行梯度检查教程
2020/02/04 Python
Python3监控windows,linux系统的CPU、硬盘、内存使用率和各个端口的开启情况详细代码实例
2020/03/18 Python
Python操作Elasticsearch处理timeout超时
2020/07/17 Python
喝酒检查书范文
2014/02/23 职场文书
社区文化建设方案
2014/05/02 职场文书
公共艺术专业自荐信
2014/09/01 职场文书
干部作风整顿个人剖析材料
2014/10/06 职场文书
考试没考好检讨书
2015/05/06 职场文书
用Python创建简易网站图文教程
2021/06/11 Python