Реальное время против времени процесса

При использовании команды time для измерения времени различных выполнений процесса (при разных аппаратных обстоятельствах) я столкнулся с явлением, которое я не понимаю.

real time 1-го исполнения было 77 minutes и 82 minutes для 2-го исполнения. Тем не менее, user time был на 6 минут быстрее во 2-м исполнении и аналогично для sys time 2-е исполнение было на 1 минуту быстрее.

Как реальное время все еще может быть лучше для 1-го выполнения?
И при сравнении времени выполнения, какой из 3-х раз является хорошим показателем общего времени выполнения процесса? (У меня есть процессы, которые выводят много информации, и процессы, которые ничего не выводят, если это что-то меняет)

0
задан 20 December 2012 в 20:54

1 ответ

Если я правильно помню:

  • real time представляет время часов: это количество времени, которое требуется процессу для запуска. Это время зависит от количества процессов, запускаемых в системе, поэтому это может объяснить, почему в реальном времени лучше при первом выполнении.
  • user time представляет количество процессорного времени, связанное с инструкциями пользователя. (пользовательский режим вне ядра)
  • sys time - это количество времени, которое процессор проводит в ядре в процессе работы. Например, всякий раз, когда вы используете методы read или write, время, затрачиваемое в ядре на выполнение этих «сервисов», оплачивается до этого времени.

Таким образом, при сравнении общего времени выполнения вы можете использовать user time + sys time.

Надеюсь, это поможет.

0
ответ дан 20 December 2012 в 20:54

Другие вопросы по тегам:

Похожие вопросы: