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

У меня есть программа на C, написанная таким образом, что она принимает имя файла в качестве входных данных для чтения. Теперь проблема в том, что я использую команду time/timex на HPUX, чтобы узнать точную производительность или время, прошедшее во время полного выполнения программы.

Проблема в том, что я не могу получить точную производительность с помощью этой команды time/timex из-за времени, затрачиваемого на вставку ввода для этой программы. Команда time/timex также учитывает время, затраченное пользователем на ввод данных.

Может ли кто-нибудь помочь мне в том, как мне измерить фактическую производительность в том случае, когда пользователь вводит данные, необходимые для запуска программы?


person Goldi    schedule 07.02.2012    source источник


Ответы (1)


time сообщает как о реальном времени, так и о времени процессора. Реальное время включает время, затраченное на ожидание ввода, но время ЦП (пользовательское + системное) должно давать вам только время, фактически затраченное вашей программой на выполнение вычислений.

person casablanca    schedule 07.02.2012
comment
в моем случае время дает вывод, как настоящий 7.7 user 0.0 sys 0.0, я хочу знать точную цифру, которая истекла во время выполнения. - person Goldi; 07.02.2012
comment
@Goldi: Тогда это фактически заняло 0 секунд (т.е. меньше, чем разрешение ваших системных часов). Вам придется запустить его с гораздо большим вводом, чтобы увидеть ненулевые значения. - person casablanca; 07.02.2012