怎么查看php运行时间差
时间 : 2023-02-27 10:16:01声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

有时候我们会需要知道PHP脚本的运行时间差,比如你想检查一个脚本的性能如何,或者需要对经常运行的脚本进行调优。下面就简单介绍一下如何查看PHP运行时间差。

1.使用microtime函数查看:

microtime()函数可以返回当前时间戳以微秒为单位的浮点数,从而我们可以得到某个脚本的执行时间差。在PHP中,可以使用如下方法查看脚本的执行时间:

<?php

$time_start = microtime(true);//获取程序开始执行的时间

//do something...

$time_end = microtime(true);//获取程序执行结束的时间

$time = $time_end - $time_start;//计算程序执行时间

echo "Process Runed Time: {$time}";

?>

通过上面的代码,我们就可以检测到某个脚本的执行时间了。

2.使用getrusage函数查看:

getrusage()函数可以返回当前进程的资源使用情况,从而我们也可以获取当前脚本的执行时间。getrusage()函数会返回如下资源使用情况:

<?php

$info = getrusage();

// 内存使用情况

$mem = $info['ru_ixrss'] + $info['ru_idrss'] + $info['ru_isrss'];

// 时间使用情况

$time = $info['ru_utime.tv_sec'] + $info['ru_utime.tv_usec'] / 1000000 +

$info['ru_stime.tv_sec'] + $info['ru_stime.tv_usec'] / 1000000;

echo "Memory: {$mem} MB, Time: {$time} S";

?>

通过上面的代码,我们就可以查看当前的PHP的运行时间。

最后,PHP也提供了Xdebug扩展,这个扩展可以用来查看运行时间、内存使用情况等,可以用来进行更详细的性能分析。

有时候开发者分析PHP脚本性能时,经常需要查看PHP脚本的执行时间差。这里介绍一种PHP脚本性能分析方法,即采用函数“getrusage()”来查看PHP脚本运行的时间差。

getrusage()函数具体信息如下:

语法:array getrusage [[ int $who ]]

参数:$who 定义要返回的资源利用范围。

1. RUSAGE_CHILDREN - 返回调用进程的所有已完成子进程的资源利用信息, 如果想简单的查看运行时间差,请用0(返回调用进程的信息);

2. RUSAGE_SELF - 返回本进程的资源利用信息。

返回值:返回形如如下数组:

Array

(

[ru_utime.tv_sec] => 0

[ru_utime.tv_usec] => 201012

[ru_stime.tv_sec] => 0

[ru_stime.tv_usec] => 17072

[ru_maxrss] => 0

[ru_ixrss] => 0

[ru_idrss] => 0

[ru_isrss] => 0

[ru_minflt] => 4

[ru_majflt] => 0

[ru_nswap] => 0

[ru_inblock] => 0

[ru_oublock] => 0

[ru_msgsnd] => 0

[ru_msgrcv] => 0

[ru_nsignals] => 0

[ru_nvcsw] => 1

[ru_nivcsw] => 8

)

其中:

ru_utime.tv_sec - 用户CPU时间(秒)

ru_utime.tv_usec - 用户CPU时间(微秒)

ru_stime.tv_sec - 系统CPU时间(秒)

ru_stime.tv_usec - 系统CPU时间(微秒)

通过以上计算就可以得到,总的CPU时间差= (ru_utime.tv_sec+ru_utime.tv_usec*0.000001)(用户时间)+(ru_stime.tv_sec+ru_stime.tv_usec*0.000001)(系统时间),即可以得出PHP脚本运行的时间差。

如何在PHP脚本中使用getrusage()函数来查看运行时间差呢?

首先,在开始执行的时候:

$start_time = getrusage();

最后