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 相关文章推荐
php生成EXCEL的东东
Oct 09 PHP
备份mysql数据库的php代码(一个表一个文件)
May 28 PHP
php设计模式 Observer(观察者模式)
Jun 26 PHP
PHP 日,周,月点击排行统计
Jan 11 PHP
PHP exif扩展方法开启详解
Jul 28 PHP
百度工程师讲PHP函数的实现原理及性能分析(三)
May 13 PHP
php实现对象克隆的方法
Jun 20 PHP
php pdo oracle中文乱码的快速解决方法
May 16 PHP
Yii实现Command任务处理的方法详解
Jul 14 PHP
php中请求url的五种方法总结
Jul 13 PHP
php使用gearman进行任务分发操作实例详解
Feb 26 PHP
VSCode+PHPstudy配置PHP开发环境的步骤详解
Aug 20 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
ThinkPHP5+Layui实现图片上传加预览功能
2018/08/17 PHP
Laravel6.0.4中将添加计划任务事件的方法步骤
2019/10/15 PHP
Div自动滚动到末尾的代码
2008/10/26 Javascript
js 对联广告、漂浮广告封装类(IE,FF,Opera,Safari,Chrome
2009/11/26 Javascript
window.dialogArguments 使用说明
2011/04/11 Javascript
jQuery中的ajax async同步和异步详解
2015/09/29 Javascript
Node.js Sequelize如何实现数据库的读写分离
2016/10/23 Javascript
bootstrap table sum总数量统计实现方法
2017/10/29 Javascript
详解如何提升JSON.stringify()的性能
2019/06/12 Javascript
简单谈谈javascript高级特性
2019/09/04 Javascript
vue 通过 Prop 向子组件传递数据的实现方法
2020/10/30 Javascript
[01:00:49]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第二场 1月31日
2021/03/11 DOTA
python实现读取并显示图片的两种方法
2017/01/13 Python
如何实现删除numpy.array中的行或列
2018/05/08 Python
使用Filter过滤python中的日志输出的实现方法
2019/07/17 Python
Python使用指定字符长度切分数据示例
2019/12/05 Python
python GUI库图形界面开发之PyQt5图片显示控件QPixmap详细使用方法与实例
2020/02/27 Python
python统计字符串中字母出现次数代码实例
2020/03/02 Python
解决Django提交表单报错:CSRF token missing or incorrect的问题
2020/03/13 Python
python可以用哪些数据库
2020/06/22 Python
Python3爬虫带上cookie的实例代码
2020/07/28 Python
Python猫眼电影最近上映的电影票房信息
2020/09/18 Python
html5-websocket基于远程方法调用的数据交互实现
2012/12/04 HTML / CSS
美国最大的城市服装和运动鞋零售商:Jimmy Jazz
2016/11/19 全球购物
JBL英国官网:JBL UK
2018/07/04 全球购物
SQL里面IN比较快还是EXISTS比较快
2012/07/19 面试题
叙述DBMS对数据控制功能有哪些
2016/06/12 面试题
新春文艺演出主持词
2014/03/27 职场文书
小学生学习雷锋倡议书
2014/05/15 职场文书
自我工作评价范文
2015/03/06 职场文书
2015年安全生产月活动总结
2015/03/26 职场文书
2015年暑期社会实践报告
2015/07/13 职场文书
基于python的matplotlib制作双Y轴图
2021/04/20 Python
高端收音机+蓝牙音箱,JBL TUNER FM带收音蓝牙音箱评测
2021/04/24 无线电
Python中Numpy和Matplotlib的基本使用指南
2021/11/02 Python
Ubuntu安装Mysql+启用远程连接的完整过程
2022/06/21 Servers