1

Я пишу программу, которая выполняет определенную оптимизацию для исполняемого файла и ищу способ измерить время, затраченное исполняемым файлом.

Я использовал скрипт, который измеряет время начала и время окончания, но это не учитывает, что процесс может не выполняться все время (из-за выделения ресурсов ОС).

Даст ли мне команда PowerShell «Measure-Command» более точный ответ? И будет ли Time делать то же самое в Linux?

Если нет, то как мне это сделать? (Решение командной строки является предпочтительным.)

2 ответа2

0

Я не могу говорить , как к команде Windows, но да, * Никс время даст вам более точный ответ:

$ time du -sch /usr/local/
147M  /usr/local/
147M  total

real    0m2.977s
user    0m0.008s
sys     0m0.076s

По man time может отображать (среди многих других вещей):

    E      Elapsed real (wall clock) time used by
           the process, in
           [hours:]minutes:seconds.
    P      Percentage of the CPU that this job
           got.  This is just user + system times
           divided by the total running time.  It
           also prints a percentage sign.
    S      Total number of CPU-seconds used by the
           system on behalf of the process (in
           kernel mode), in seconds.
    U      Total number of CPU-seconds that the
           process used directly (in user mode),
           in seconds.
    e      Elapsed real (wall clock) time used by
           the process, in seconds.
0

В PowerShell вы можете использовать Get-Process:

Get-Process | select starttime

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .