当前位置: 首页 > 编程笔记 >

PHP中使用微秒计算脚本执行时间例子

归俊杰
2023-03-14
本文向大家介绍PHP中使用微秒计算脚本执行时间例子,包括了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脚本所需要的时间。代码如下所示:

<?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发送数百封电子邮件。为了增加执行时间,我使用了 ini_set(’max_execution_time’,10);。 但是仅发送 30 封电子邮件后,浏览器向我显示空白页,并且不会发送所有电子邮件。 我也将限制更改为300,600 .. 问题答案: 尝试在脚本顶部。 set_time_limit 设置最大执行时间(以秒为单位)。如果设置为零,则不施加时间限制

  • 问题内容: 为了强制执行max_execution_time限制,PHP必须跟踪特定脚本使用的CPU时间。 有没有办法在脚本中访问此内容?我想在测试中包含一些日志记录,以了解实际PHP中的CPU消耗了多少(脚本坐着并等待数据库时,时间没有增加)。 我正在使用Linux机器。 问题答案: 在unixoid系统上(以及在Windows上的php 7+中),您可以使用getrusage,例如: 请注意,

  • 本文向大家介绍使用php-timeit估计php函数的执行时间,包括了使用php-timeit估计php函数的执行时间的使用技巧和注意事项,需要的朋友参考一下 废话不多说了,直接把我写的timeit函数分享给大家,具体内容如下:   测试一下自己写的一个求根算法与系统内置求根函数的执行时间,如下:   测试结果如下: 0.028280019760132 0.0041000843048096   可

  • 问题内容: 我有运行带有并行PLESK面板的Cent OS的专用服务器。我需要每秒运行一个PHP脚本来更新数据库。这些是时间上的替代方法,它需要每秒进行更新。 我可以使用URL找到我的脚本。 每秒可以在本地执行该文件吗?喜欢吗? 更新: 自我添加此问题以来已经过了几个月。我最终使用了以下代码: 我的cronjob设置为每分钟。我已经在测试环境中运行了一段时间,它运行良好。这真的非常快,而且我看不到

  • 问题内容: 我想从PHP脚本执行系统上存在的Bash脚本。我的系统上有两个脚本。其中一个是称为at at 的PHP脚本,另一个是称为at at 的Bash脚本。 我的client.php脚本看起来像 我的睾丸看起来像 当我在终端上执行以下操作时 我在终端上得到以下输出 但是当我在打开页面时 我得到以下输出 即使执行了chmod + x testscript,我仍然收到此错误。 我如何从浏览器中获取

  • 我试图从一个简单的BASH脚本执行一个简单的PHP脚本。这个网站上的答案不能回答我的问题。 这是我的BASH脚本 这是我的PHP脚本 从命令行运行BASH脚本时,出现以下错误。 我试过键入/usr/bin/php-q/home/username/subfolder/durable2。这很好。它跑起来了