php使用microtime(true)查看代码执行时间

php使用microtime(true)查看代码执行时间

<?PHP
$t1=microtime(true);
for( $i=1;$i<=1000;$i++){
    echo $i."*";
}
echo "<br>";
$t2=microtime(true);
echo $t1."<br>";
echo $t2."<br>";
echo "消耗时间:".round($t2-$t1,3);

输出:

1543284899.817
1543284899.818
消耗时间:0.001

 

microtime() 函数返回当前 Unix 时间戳和微秒数。

      如果带个 true 参数, 返回的将是一个浮点类型

round() 取出小数点后 3 位

=======================================================================

如何计算一段php程序代码的执行消耗时间?

对于系统时间,可能很多同学对php的time()函数并不陌生,可惜time()函数只返回自从 Unix 纪元(格林威治时间 1970 年 1 月 1 日 00:00:00)到当前时间的秒数.
没错,是秒.我们一段php程序代码执行耗时可能并不超过一秒,所以time()并不适用.php提供了一个更为精确的时间函数microtime():
microtime — 返回当前 Unix 时间戳和微秒数.

格式: mixed microtime ([ bool $get_as_float ] )

函数以 “msec sec” 的格式返回一个字符串,sec 是自 Unix 纪元(0:00:00 January 1, 1970 GMT)起到现在的秒数,msec 是微秒部分。
如果输入参数为true,microtime() 将返回一个浮点数。

例如:echo microtime(); 会返回:0.08845800 1376983061。

echo microtime(true);则返回:1376983061.08845800

在dedecms和康盛的UCenter代码中使用了microtime()然后字符串分隔

在thinkphp3.2框架代码中使用了microtime(true);

好了,然后的事情很简单,为了免于对返回的结果做复杂的字符串转换,我们设定microtime()输入参数为true,使得其返回的结果为浮点数。
然后在程序开始和结束分别计算一次,两次结果相减便是程序执行的时间。(PHP手册里有一句话:永远不要比较两个浮点数是否相等。 )
最后使用number_format格式化浮点数。此方法仅供测试,结果不一定精确。

原文:https://blog.csdn.net/eflyq/article/details/19130141

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/112670.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Linux文件的rwx含义,文件(目录)rwx权限的意义[通俗易懂]

    Linux文件的rwx含义,文件(目录)rwx权限的意义[通俗易懂]我们知道不同的角色针对同一个文件(目录)可能会有不同的权限,那么rwx权限的意义是什么呢?对于文件文件是包含实际数据的地方,包括一般文本文件、数据库内容文件、二进制可执行文件等。对于文件来说,rwx权限的意义为:r:read,可读取此文件的内容,即可以打开文件;w:write,可编辑此文件的内容,如可以增加、删除、更改文件内容;x:execute,可以执行此文件。需要注意的是,文件的权限rwx都是…

  • 关于group by的基础用法和原理

    关于group by的基础用法和原理写在前面的话:用了好久groupby,今天早上一觉醒来,突然感觉groupby好陌生,总有个筋别不过来,为什么不能够select*fromTablegroupbyid,为什么一定不能是*,而是某一个列或者某个列的聚合函数,groupby多个…

  • linux日志管理命令_shell查看日志命令

    linux日志管理命令_shell查看日志命令文章目录一.企业中:软件包管理二.任务计划1.一次性调度执行——at2.循环调度执行——cron三.日志管理rsyslogd配置文件rules规则四.日志轮转logrotateLinux11任务计划,日志管理一.企业中:软件包管理1.清理原有的YUM配置——国外下载源,速度慢把原来/etc/yum.repos.d/的内容都丢到/tmp(mv移动)这里可能有一个小问题,需要先检测一下有没有wget 命令,没有的话要用原有的yum配置先下载wget:#yum -y install wget,因为后面

  • oracle学习_基本语法

    oracle学习_基本语法

  • html+css实现漂亮的透明登录页面,HTML实现炫酷登录页面

    html+css实现漂亮的透明登录页面,HTML实现炫酷登录页面承蒙各位小伙伴的支持,鄙人有幸入围了《CSDN2020博客之星》的前200名,现在进入投票环节,如果我平时写的文章和分享对你有用的话,请每天点击一下这个链接,投上你们宝贵的一票吧!谢谢!❤️每一票都是我坚持的动力和力量!https://bss.csdn.net/m/topic/blog_star2020/detail?username=qq_23853743作者:AlbertYang,软件设计师,Java工程师,前端工程师,爱阅读,爱思考,爱编程,爱自由,信奉终生学习,每天学习一点点,就是领.

  • ThinkPHP函数详解:L方法

    ThinkPHP函数详解:L方法

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号