使用微妙计算PHP脚本执行时间
在PHP中,大多数的时间格式都是以UNIX时间戳表示的,而UNIX时间戳是以s(秒)为最小的计量时间的单位。这对某些应用程序来说不够精确,所以可以调用microtime()返回当前UNIX时间戳和微妙数。该函数的原型如下:
mixed microtime([bool get_as_float]); //返回当前UNIX时间戳和微妙数
可以为该函数提供一个可选的布尔型参数,如果在调用时不提供这个参数,本函数以“msec sec”的格式返回一个字符串。其中sec是自UNIX纪元到现在的秒数,而msec是微妙部分,字符串的两部分都是以秒为单位返回的。如果给出了get_as_float参数并且其值等价于TRUE,microtime()将返回一个浮点数。在小数点前面还是以时间戳格式表示,而小数点后面则表示微妙的值。但要注意参数get_as_float是在PHP5.0版本中新加的,所以在PHP5以前的版本中,不能直接使用该参数直接请求一个浮点数。在下面的例子中通过两次调用microtime()函数,计算运行PHP脚本所需要的时间。代码如下所示:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
<?php//生命一个计算脚本运行时间的类class Timer{private $startTime = 0; //保存脚本开始执行时的时间(以微秒的形式保存)private $stopTime = 0; //保存脚本结束执行时的时间(以微秒的形式保存)//在脚本开始处调用获取脚本开始时间的微秒值function start(){$this->startTime = microtime(true); //将获取的时间赋值给成员属性$startTime}//脚本结束处嗲用脚本结束的时间微秒值function stop(){$this->stopTime = microtime(true); //将获取的时间赋给成员属性$stopTime}//返回同一脚本中两次获取时间的差值function spent(){//计算后4舍5入保留4位返回return round(($this->stopTime-$this->startTime),4);}}$timer= new Timer(); $timer->start(); //在脚本文件开始执行时调用这个方法usleep(1000); //脚本的主题内容,这里可以休眠一毫秒为例$timer->stop(); //在脚本文件结束处调用这个方法echo "执行该脚本用时<b>".$timer->spent()."</b>";?> |
在以上脚本中,声明一个用于计算脚本执行时间的类Timer。需要在脚本执行开始的位置调用该类中的start()方法,获取脚本开始执行时的时间。并在脚本执行结束的位置调用该类中的stop()方法,获取脚本运行结束时的时间。再通过访问该类中的spent()方法,就可以获取运行脚本所需的时间。
使用微妙计算PHP脚本执行时间的更多相关文章
- php计算脚本执行时间
利用PHP的microtime实现 function getCurrentTime () { list ($msec, $sec) = explode(" ", microtime ...
- 统计Shell脚本执行时间
统计Shell脚本执行时间,帮助分析改进脚本执行 用 date 相减 #!/bin/bash startTime=`date +%Y%m%d-%H:%M:%S` startTime_s=`date + ...
- 计算shell 脚本的执行时间
# shell_time.sh #!/bin/bash UseTime () { startTime_s=`date +%s` # 获取从1970-01-01 00:00:00 UTC到现在的秒数 $ ...
- CodeIgniter类库之Benchmarking Class ,计算代码的执行时间
CodeIgniter中有个Benchmarking类库,它是被系统自动被加载的,不需要手工加载.Benchmarking类库能够计算出任意两个被标记点之间的代码执行时间.通过这个数值,可以评估程序员 ...
- 计算python脚本的运行时间
首先说一下我遇到的坑,生产上遇到的问题,我调度Python脚本执行并监控这个进程,python脚本运行时间远远大于python脚本中自己统计的程序执行时间. 监控python脚本执行的时间是36个小时 ...
- 你用什么方法检查 PHP 脚本的执行效率(通常是脚本执行时间)和数据库 SQL 的效率(通常是数据库 Query 时间), 并定位和分析脚本执行和数据库查询的瓶颈所在?
php: 一般是在你要检查的代码开头记录一个时间,结尾记录一个时间.取差值, 数据库SQL的效率 sql的explain(mysql),启用slow query log记录慢查询. 通常还要 ...
- 计算C#程序执行时间
static void SubTest() { DateTime beforDT = System.DateTime.Now; //耗时巨大的代码 ...
- 使用 console.time() 计算js代码执行时间
console.time('hellor'); for(var i=0;i<100000;i++){} console.timeEnd('hellor');
- shell脚本添加脚本执行时间和当前运行次数current running time
#!/bin/bash ############################ #Author:Bing #Create time:3/31/2017 ####################### ...
随机推荐
- Remove Duplicates from Sorted Array II ——LeetCode
Follow up for "Remove Duplicates":What if duplicates are allowed at most twice? For exampl ...
- 解决"the currently displayed page contains invalid values"
原因是你的工程的根目录少了default.properties(有点项目工程这个文件名称是project.properties)这个文件,导致不能选择target: 解决办法: 在工程根目录下建立 ...
- 狗血phonegap备忘录[3.3]
phonegap平台就是个狗血的坑,最近的一个项目技术因为上面选型失败,使用了phonegap,加上客户的要求是"像微信一样",真可谓历经坎坷. 基本上评估一个项目是否应该或者可以 ...
- POJ 3384 Feng Shui 半平面交
题目大意:一个人很信"Feng Shui",他要在房间里放两个圆形的地毯. 这两个地毯之间可以重叠,可是不能折叠,也不能伸到房间的外面.求这两个地毯可以覆盖的最大范围.并输出这两个 ...
- Android图片框架---Glide
Glide *** 使用* 一.添加依赖* compile 'com.github.bumptech.glide:glide:3.7.0'* compile 'com.android.support: ...
- Java串口通信具体解释
序言 说到开源,恐怕非常少有人不挑大指称赞.学生通过开源码学到了知识,程序猿通过开源类库获得了别人的成功经验及可以按时完毕手头的project,商家通过开源软件赚到了钱……,总之是皆大欢喜.然而开源软 ...
- [PWA] 0. Introduce to Offline First
Why offline first? Imagin you are visiting a website, it is fine if wifi connection is good. It migh ...
- 高效实现 std::string split() API
Qt下一个 QString 实现split()性能.和std::string未实现它的.STL也未实现.只有自己可以写一. #include <string> #include <v ...
- 实现ARC文件与MRC文件互转,和混合使用。
这段时间做项目是以MRC为主的 但是某些第三方现在都只能支持ARC了 找到了这篇文章 可谓是帮了大忙 亲测完全可用喔:-O 如何在未使用arc的工程中引入一个使用了arc特性的文件,如何在arc工程中 ...
- Git学习之添加远程仓库
好久没有写过博客了,只因人生世事无常! 前言:说实话,早就听说了Git这个代码管理工具的NB之处,却一直没有时间好好学习下.现在终于有时间学习一下这个伟大的工具,在此写下在学习过程中遇到的问题! 推荐 ...