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

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

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

(0)
上一篇 2021年11月3日 下午3:00
下一篇 2021年11月3日 下午4:00


相关推荐

  • 浅谈js原型和原型链接_js原型链阮一峰

    浅谈js原型和原型链接_js原型链阮一峰一、简述对于javascript对象(函数)原型和原型链的理解,其实不那么难,简单来说,需要理解什么是原型,怎么访问原型,什么是原型链,怎么通过原型链去访问原型,就可以大概理清楚原型和原型链的基础知识。二、浅析1、何为原型在js引擎启动的时候,其内核就生成了最基本的Object和Function的原型内容,也就是最原始最自然的代码。(1)Object的原型是一个对象变量,该对象变量存…

    2025年6月29日
    5
  • Unity3d的Log系统重构

    Unity3d的Log系统重构

    2022年3月13日
    61
  • HTML中的空格字符_dw空格代码怎么打

    HTML中的空格字符_dw空格代码怎么打在学习插入空格字符代码书写方法之前,我们要知道,html代码的空格字符,在浏览器中,总会被压缩为一个字符!也就是说,你在html文本中输入多个空格,但在浏览器中,只会保留显示一个字符,其余的都将被浏览器删除。再打个比如,你在html中输入了8个空格字符,如下图所示:在显示之前,浏览器会删除其余7个,而只保留一个空格字符,如下图所示:也就是说,无论你输入多少个空格字符,在浏览器中显示的永远和上图一样…

    2025年11月18日
    5
  • acm总结帖_By AekdyCoin

    acm总结帖_By AekdyCoinacm总结帖_ByAekdyCoin各路大牛都在中国大陆的5个赛区结束以后纷纷发出了退役帖,总结帖,或功德圆满,或死不瞑目,而这或许又会造就明年的各种“炸尸”风波。为了考虑在发退役贴以后明年我也成为“僵尸”的可能性,于是改名曰“总结贴”,不提比赛细节,不提比赛流水账,权当是大学本科生涯中acm生活的点滴记录……(1)入门篇甲PS:以下内容…

    2022年7月23日
    18
  • 通常每个套接字地址只允许使用一次_max无法写入配置文件

    通常每个套接字地址只允许使用一次_max无法写入配置文件写入配置文件 CString IP, Port; UpdateData(TRUE); // 将应用程序控件上面的IP和端口 更新至对应的成员变量 IP = m_IpAddress.GetString(); // 读取成员变量控件上面的IP地址将赋给strIP变量 Port.Format(L”%d”, m_iPort); // 读取成员变量控件上面的端口将赋给m_iPort变量 Wri…

    2022年8月18日
    11
  • 如何在Pycharm中安装 pygame?

    如何在Pycharm中安装 pygame?今天好不容易啃书到项目实践过程 终于可以做一款小游戏了 这对我这个 Python 编程小白来说 无疑是自己一直想要去实现的 正准备兴致勃勃的准备撸代码时 就开始碰壁了 因为在安装 pygame 我按照书中步骤来时 却永远安不上 可能是书的问题也可能是我自己哪部分搞错了 于是去搜了一下百度 虽然有很多办法 但无一都很复杂 写了一大堆 最终在我自我摸索下 终于搞好了 现在分享一下我的下载过程 超级简单 1 首先打开 pycharm 再点击 Terminal 终端 在终端输入 pipinstallpy 即可

    2026年3月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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