Что такое продолжительность?

Продолжительность - это время, которое требуется для завершения процесса. Чтобы использовать реальный пример: если вы посмотрите на часы и запишите время, выйдите на прогулку, затем вернитесь и увидите, что прошло пятнадцать минут, а продолжительность вашей прогулки составила пятнадцать минут.

Компьютеры содержат специальное оборудование для измерения времени, а операционные системы включают команды, которые можно использовать для измерения времени, которое требуется программе для запуска.

В современных компьютерах время может измеряться разными часами.

  • RTC (часы реального времени) использует кварцевый кристалл, который вибрирует с постоянной частотой, чтобы отслеживать «человеческое время»: годы, месяцы, дни, часы, минуты и секунды. Однако его частота (32768 Гц) слишком медленная, чтобы измерять доли времени, меньшие 1/32768 секунды. Современные процессоры могут выполнять операции намного быстрее, чем это, поэтому RTC не может точно измерить продолжительность компьютерного процесса.
  • PIT (программируемый интервальный таймер) - это аппаратный счетчик, который может инициировать прерывание при достижении определенной суммы счета. Распространенным PIT является интегральная схема Intel 8253, изначально разработанная для использования с процессором Intel 8080. Он работает на частоте 1.193182 МГц. Он используется в качестве системных часов во многих операционных системах, включая Windows и Linux.
  • TSC (счетчик меток времени) - это 64-битный регистр, расположенный на всех современных процессорах x86. Он подсчитывает тактовые частоты отдельных процессоров и впервые был представлен в линейке процессоров Intel Pentium. Сначала было полезно предоставить часы, которые могли бы измерять меньшие доли времени, чем RTC или PIT. Однако для получения точных измерений требуется, чтобы процессор работал с постоянной скоростью. Более новые процессоры могут изменять частоту (например, переход в режим «турбо» для получения временных повышений скорости или снижение скорости до более низкой скорости в режиме ожидания для экономии энергии). Таким образом, TSC, хотя и полезен для других целей, больше не является надежным для измерения постоянного времени.
  • HPET (высокоточный таймер событий) - это аппаратный таймер, разработанный совместно Intel и Microsoft, который доступен на компьютерах, выпущенных после 2005 года. В чипсете CPU на материнской плате HPET обычно располагается на южном мосту. Он рассчитывает время в 64 битах при минимальной частоте 10 МГц и использует три счетчика «компаратора» (32-битный или 64-битный) для получения высокоточного измерения времени. HPET используется на вашем компьютере для многих целей, например для синхронизации аудиопотока при воспроизведении видео.

Наиболее точным из этих способов синхронизации является HPET .

Как рассчитать время процесса на вашем компьютере

Существуют различные способы узнать, сколько времени занимает процесс на вашем компьютере.

В командной строке Windows

В командной строке Windows нет встроенного способа измерения времени выполнения команды. Тем не менее, есть как минимум один простой способ узнать, когда ваша команда запускается и останавливается. Вы можете создать командный файл, который использует переменную среды % time% . Например, если вы создадите командный файл с именем mytime.bat и дадите ему следующие строки:

 @echo off set timestart =% time%% * echo Начало:% timestart% echo Окончание:% time% 

Переменная % time% - текущее время, а % * - все после имени команды. Итак, для определения времени выполнения команды dir, например:

 mytime dir c: \ 
 Том на диске C - это Windows10. Серийный номер тома - 5CB6-BCD6. Каталог c: \ [ список каталогов ... ] 28 Файлов: 4 500 506 Байт 12 Dir (s) 23 807 946 752 Байт свободно Начало: 19: 31: 18.87 Окончание: 19 : 31: 18.89 

Примечание: этот метод не является точным. Он не измеряет время процессора, только время "настенных часов". Таким образом, другие программы, запущенные на вашем компьютере, будут влиять на показанное время. Кроме того, продолжительность должна быть рассчитана вручную, вычитая время «начала» из времени «окончания».

В Windows PowerShell

В Windows PowerShell вы можете узнать, сколько времени занимает выполнение программы, запустив ее с помощью командлета Measure-Command . В общем, это используется так:

 Measure-Command { команда } 

Команда будет выполнена, но любой вывод не будет показан. Вместо этого в выводе будет отображаться информация о том, сколько времени потребовалось для выполнения команды . Например:

 Measure-Command {dir} 
 Дни: 0 Часы: 0 Минуты: 0 Секунды: 0 Миллисекунды: 14 Тики: 142200 ВсегоДней: 1.64583333333333E-07 Всего Часов: 3.95E-06 Всего Минут: 0.000237 Всего секунд: 0.01422 Всего Миллисекунд: 14.22 

В линуксе

В Linux вы можете добавить любую команду оболочки к команде времени, чтобы измерить ее продолжительность. Например, следующая команда найдет любые файлы в текущем каталоге или под ним, содержащие слово hope, и сообщит, сколько времени понадобилось для их поиска:

 время найти / home / myuser -iname '* hope *' 
 /home/myuser/files/computer-hope.jpg /home/myuser/backup/hope-backup.zip реальный 0m0.298s пользователь 0m0.164s sys 0m0.088s 

В отличие от Measure-Command, время Linux отображает все выходные данные команды. Затем он сообщает три раза: пользовательское время (сколько времени фактически потратила команда на выполнение), системное время (сколько времени ядро ​​потратило на выполнение необходимых системных задач) и реальное время (общее время, прошедшее).

  • Как установить или изменить дату и время компьютера.

Условия аппаратного обеспечения, Условия использования программного обеспечения