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'];
好像有一个简单的脚本应该不会花很长时间,但是当 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'];