Является ли функция microtime () надежным способом подсчета времени, затраченного процессором на весь php-скрипт? - PullRequest
0 голосов
/ 19 октября 2019

Как будто существует простой сценарий, который не должен занимать много времени, но когда процессор переключился на другой сценарий в середине сценария и некоторое время выполнял эту работу, это влияет на разницу между двумя вызовами функции microtime () накаждый конец маленького сценария?

1 Ответ

1 голос
/ 19 октября 2019

microtime() возвращает значение, представляющее реальное время. Возможное использование:

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

Если вы хотите использовать процессор, используйте функцию 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'];
...