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中的正规表达式(二)
Oct 09 PHP
adodb与adodb_lite之比较
Dec 31 PHP
php header Content-Type类型小结
Jul 03 PHP
php文件怎么打开 如何执行php文件
Dec 21 PHP
PHP flock 文件锁详细介绍
Dec 29 PHP
php中instanceof 与 is_a()区别分析
Mar 03 PHP
PHP对象、模式与实践之高级特性分析
Dec 08 PHP
微信封装的调用微信签名包的类库
Jun 08 PHP
PHP合并两个或多个数组的方法
Jan 20 PHP
PHP单文件上传原理及上传函数的封装操作示例
Sep 02 PHP
php并发加锁问题分析与设计代码实例讲解
Feb 26 PHP
一文搞懂PHP中的抽象类和接口
May 25 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
Sony CFR 320 修复改造
2020/03/14 无线电
《Re:从零开始的异世界生活》剧情体验,手游新作定名
2020/04/09 日漫
php fputcsv命令 写csv文件遇到的小问题(多维数组连接符)
2011/05/24 PHP
PHP生成随机用户名和密码的实现代码
2013/02/27 PHP
解决jquery submit()提交表单提示:f[s] is not a function
2013/01/23 Javascript
a标签的href和onclick 的事件的区别介绍
2013/07/26 Javascript
jQuery.fn和jQuery.prototype区别介绍
2013/10/05 Javascript
javascript 模拟坦克大战游戏(html5版)附源码下载
2014/04/08 Javascript
javascript获取select值的方法分析
2015/07/02 Javascript
javascript创建动态表单的方法
2015/07/25 Javascript
继续学习javascript闭包
2015/12/03 Javascript
通用无限极下拉菜单的实现代码
2016/05/31 Javascript
jQuery实现的自定义弹出层效果实例详解
2016/09/04 Javascript
分享vue里swiper的一些坑
2018/08/30 Javascript
使用webpack构建应用的方法步骤
2019/03/04 Javascript
vue Treeselect 树形下拉框:获取选中节点的ids和lables操作
2020/08/15 Javascript
python判断图片宽度和高度后删除图片的方法
2015/05/22 Python
Django学习笔记之Class-Based-View
2017/02/15 Python
python调用c++ ctype list传数组或者返回数组的方法
2019/02/13 Python
python七夕浪漫表白源码
2019/04/05 Python
Django中使用CORS实现跨域请求过程解析
2019/08/05 Python
python求numpy中array按列非零元素的平均值案例
2020/06/08 Python
深入理解css属性的选择对动画性能的影响
2016/04/20 HTML / CSS
HTML5探秘:用requestAnimationFrame优化Web动画
2018/06/03 HTML / CSS
美国知名男士服饰品牌:Brooks Brothers(布克兄弟)
2016/08/25 全球购物
美国瑜伽品牌:Gaiam
2017/10/31 全球购物
一家专门经营包包的英国网站:MyBag
2019/09/08 全球购物
学习型党组织建设经验材料
2014/05/26 职场文书
幽默自我介绍演讲稿
2014/08/21 职场文书
我的梦想演讲稿500字
2014/08/21 职场文书
高中教师个人工作总结
2015/02/10 职场文书
餐厅保洁员岗位职责
2015/04/10 职场文书
消防验收申请报告
2015/05/15 职场文书
幼儿园小班开学寄语(2016秋季)
2015/12/03 职场文书
漫画「狩龙人拉格纳」公开TV动画预告图
2022/03/22 日漫
阿里云k8s服务升级时502错误 springboot项目应用
2022/04/09 Servers