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


相关推荐

  • Java创建线程的四种方式

    Java创建线程的四种方式1 继承 Thread 类实现多线程 nbsp nbsp run 为线程类的核心方法 相当于主线程的 main 方法 是每个线程的入口 nbsp nbsp nbsp a 一个线程调用两次 start 方法将会抛出线程状态异常 也就是的 start 只可以被调用一次 nbsp nbsp nbsp nbsp b native 生明的方法只有方法名 没有方法体 是本地方法 不是抽象方法 而是调用 c 语言方法 nbsp nbsp nbsp nbsp registerNati 方法包含了所有与线程

    2026年3月26日
    1
  • 云计算服务IaaS, PaaS和SaaS简介

    云计算服务IaaS, PaaS和SaaS简介IaaS PaaS 和 SaaS 简介 1 IaaS2 PaaS3 SaaS4 IaaS PaaS 和 SaaS 区别 1 IaaSInfrastr as a Service 基础设施即服务 提供给消费者的服务是对所有计算基础设施的利用 包括处理 CPU 内存 存储 网络和其它基本的计算资源 用户能够部署和运行任意软件 包括操作系统和应用程序 消费者不管理或控制任何云计算基础设施 但能控制操作系统的选择 存储空间 部署的应用 也有可能获得有限制的网络组件 例如路由器 防火墙 负载均衡器等 的

    2026年3月17日
    2
  • 小程序文本内容无法长按复制粘贴_小程序读取剪贴板怎么办

    小程序文本内容无法长按复制粘贴_小程序读取剪贴板怎么办微信小程序的文本,要具有长按复制功能,必须满足两个条件:文本在&lt;text&gt;标签内;&lt;text&gt;标签要有selectable属性。例如:&lt;textselectable=’true’&gt;文本&lt;/text&gt;下面一个例子是,解决WxParse不能长按选择的问题。在wxParse.wxml中修改:diff-…

    2026年4月18日
    3
  • crontab怎么使用_crontab配置

    crontab怎么使用_crontab配置    使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令。例如系统管理员安排一个备份任务使其每天都运行安装:apt-getinstallcron  (服务器环境下默认都会安装)使用:crontab-e  进入编辑页面(第一次进入会让你选择编辑器)       crontab-l  查看当前的定时任务以上是crontab的使用规则,以及定时方法的…

    2022年8月24日
    10
  • 数量金融 | 随机过程、马尔可夫过程、维纳过程三者的联系与区别?

    数量金融 | 随机过程、马尔可夫过程、维纳过程三者的联系与区别?大家好 我是一个充满好奇的金融小白 最近在啃 数量金融 这本书 对于我这个非数学类的本科生来说还真是不小的挑战 有时候一个概念看懂都费了我不少时间 就在今天我为了搞明白随机过程 马尔可夫过

    2026年3月17日
    2
  • 一个反射型XSS例子的解析

    一个反射型XSS例子的解析我们在访问一个网页的时候,在URL后面加上参数,服务器根据请求的参数值构造不同的HTML返回。如http://localhost:8080/prjWebSec/xss/reflectedXSS.jsp?param=value…上例中的value可能出现在返回的HTML(可能是JS,HTML某元素的内容或者属性)中,如果将value改成可以在浏览器中被解释执行的东西,就形成了反射型X

    2022年5月5日
    93

发表回复

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

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