microtime() 函数是一种可靠的方法来计算 cpu 在整个 php 脚本上花费的时间吗?

Is microtime() function a reliable way to count time the cpu spent on a whole php-script?

好像有一个简单的脚本应该不会花很长时间,但是当 CPU 在脚本中间切换到另一个工作并做了一段时间的工作时,它会影响两者之间的区别吗在小脚本的每一端调用 microtime()?

microtime() returns 代表实时的值。一种可能的用法是:

$duration = -microtime(true);
// .... do something .....
$duration += microtime(true);

如果你想要CPU的使用时间,使用函数rusage()

$ru_start = getrusage();

// .... do something .....

$ru_end = getrusage();
$elapsed_user = $ru_end['ru_utime.tv_sec'] * 1000000
              + $ru_end['ru_utime.tv_usec']
              - $ru_start['ru_utime.tv_sec'] * 1000000
              - $ru_start['ru_utime.tv_usec'];

$elapsed_system = $ru_end['ru_stime.tv_sec'] * 1000000
                + $ru_end['ru_stime.tv_usec']
                - $ru_start['ru_stime.tv_sec'] * 1000000
                - $ru_start['ru_stime.tv_usec'];