在 PHP 中,你可以使用 microtime() 函数来测量代码的执行时间。microtime() 函数返回当前 Unix 时间戳的微秒数。你可以在代码的开始和结束处分别调用 microtime(),然后计算两者之间的差值来得到代码的执行时间。

以下是一个简单的示例:

<?php
// 获取开始时间
$startTime = microtime(true); // 你要测试的代码
for ($i = 0; $i < 1000000; $i++) {
// 一些操作
} // 获取结束时间
$endTime = microtime(true); // 计算执行时间
$executionTime = $endTime - $startTime; echo "代码执行用时: " . $executionTime . " 秒";
?>

解释:

  • microtime(true):返回当前时间的浮点数表示,单位为秒。
  • $startTime:记录代码开始执行的时间。
  • $endTime:记录代码结束执行的时间。
  • $executionTime:计算代码执行的总时间。

输出:

代码执行用时: 0.012345 秒

注意事项:

  • microtime(true) 返回的是浮点数,单位为秒。
  • 如果你需要更高的精度,可以使用 hrtime() 函数,它返回纳秒级别的时间。

使用 hrtime() 的示例:

<?php
// 获取开始时间
$startTime = hrtime(true); // 你要测试的代码
for ($i = 0; $i < 1000000; $i++) {
// 一些操作
} // 获取结束时间
$endTime = hrtime(true); // 计算执行时间(纳秒)
$executionTime = $endTime - $startTime; echo "代码执行用时: " . ($executionTime / 1e9) . " 秒"; // 转换为秒
?>

输出:

代码执行用时: 0.012345678 秒

通过这种方式,你可以精确地测量 PHP 代码的执行时间。

deepseek: php测试代码执行用时的更多相关文章

  1. 前台ajax请求一次,后台代码执行了两次

    问题: 后台使用Django,前台发布文章时使用ajax方式,后台执行代码将data数据取出存入数据库 经过排查,是提交按钮type写成了submit,需要写成button,真是 修改后测试 代码执行 ...

  2. java中 try catch finally和return联合使用时,代码执行顺序的小细节

    代码1测试 public static void main(String[] args) { aa(); } static int aa() { try { int a=4/0; } catch (E ...

  3. HTTP.SYS远程代码执行漏洞测试(ms15-034)

    1.HTTP.SYS远程代码执行漏洞简介 首先漏洞编号:CVE-2015-1635(MS15-034 ) 远程执行代码漏洞存在于 HTTP 协议堆栈 (HTTP.sys) 中,当 HTTP.sys 未 ...

  4. 用 console.time()和 console.timeEnd() 测试你的 javascript 代码执行效率

    无意中学习到了一种测试 javascript 代码执行效率的一种方法,就记下来便于以后使用,用到了console对象中的  time  和  timeEnd  方法 . console.time('m ...

  5. 性能秒杀log4net的NLogger日志组件(附测试代码与NLogger源码)

    NLogger特性: 一:不依赖于第三方插件和支持.net2.0 二:支持多线程高并发 三:读写双缓冲对列 四:自定义日志缓冲大小 五:支持即时触发刷盘机制 六:先按日期再按文件大小滚动Rolling ...

  6. Struts2 REST 插件 XStream 远程代码执行漏洞 S2-052 复现过程

    v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...

  7. Apache Log4j 反序列化代码执行(CVE-2019-17571) 漏洞分析

    Apache Log4j 漏洞分析 仅用于研究漏洞原理,禁止用于非法用途,后果自负!!! CVE-2019-17571 漏洞描述 Log4j是美国阿帕奇(Apache)软件基金会的一款基于Java的开 ...

  8. .NET单元测试的艺术-3.测试代码

    开篇:上一篇我们学习单元测试和核心技术:存根.模拟对象和隔离框架,它们是我们进行高质量单元测试的技术基础.本篇会集中在管理和组织单元测试的技术,以及如何确保在真实项目中进行高质量的单元测试. 系列目录 ...

  9. mysql锁 实战测试代码

    存储引擎 支持的锁定 MyISAM 表级锁 MEMORY 表级锁 InnoDB 行级锁 BDB 页面锁 表级锁:开销小,加锁快:不会出现死锁:锁定粒度大,发生锁冲突的概率最高,并发度最低.行级锁:开销 ...

  10. .NET 程序启动调试器 .NET 测试代码耗费时间

    有些场景的.NET程序,不容易设置断点,可以用下面的方法,在.NET代码中增加启动调试器的代码: if (!Debugger.IsAttached) Debugger.Launch(); .cshar ...

随机推荐

  1. 在 d2js 使用多种数据源如spring数据源

    不少人误以为 d2js 只能通过 database.js 指定一个数据库,是一个单数据库方案.实际上 d2js 也可以使用多个数据库. 在 WEB-INF/jslib/d2js/base.js 的末尾 ...

  2. 【Python】【Pandas】使用concat添加行

    添加行 t = pd.DataFrame(columns=["姓名","平均分"]) t = t.append({"姓名":"小红 ...

  3. git学习之git reset命令

    Git版本恢复命令 reset命令有3种方式: git reset –mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和inde ...

  4. 记录一次线上服务OOM排查

    外面,阳光明媚,一切正好. 就在我欢天喜地准备迎来愉快的双休时,忽然之间,天塌了. 刚上线一小时的服务内存异常OOM了! 老实说,在我印象里OOM问题只存在于网上案例中,练习编码时常两年半,还是第一次 ...

  5. Kubernetes-介绍

    1. kubernetes 是什么? Kubernetes 是一个可移植的.可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化. Kubernetes 这个名字源于希腊语,意为 ...

  6. Redis 学习笔记之基础

    一.Redis 是什么 Redis 是一个使用 C 语言写成的,开源的.key-value 结构的.非关系型数据库.它支持存储的 value 类型相对更多,包括 String(字符串).List(列表 ...

  7. springcloud-路由gateway-zuul

    spring-cloud-Gateway是spring-cloud的一个子项目.而zuul则是netflix公司的项目,只是spring将zuul集成在spring-cloud中使用而已.因为zuul ...

  8. Golang-基本语法2

    http://c.biancheng.net/golang/syntax/ Go语言变量的声明(使用var关键字) Go语言是静态类型语言,因此变量(variable)是有明确类型的,编译器也会检查变 ...

  9. WebSocket,IsWebSocketRequest与AspNetWebSocketContext

    asp.net新建一个服务端程序,用来处理链接服务端: 1,新建一个处理程序 .ashx using System; using System.Collections.Generic; using S ...

  10. MySQL系统命令

    原文链接:https://blog.liuzijian.com/post/34b3b940-c053-9d75-06e2-07a2e7aeedc3.html 登录命令 mysql -h 主机 -P 端 ...