Какво е продължителност?

Продължителността е времето, необходимо за завършване на процеса. Да използваме пример от реалния свят: ако гледате часовник и си отбелязвате времето, след това излизате на разходка, след това се връщате и виждате, че са изминали петнадесет минути, продължителността на вашата разходка е петнадесет минути.

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

В съвременните компютри времето може да се измерва с различни часовници.

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

Най-точен от тези методи е HPET .

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

Има различни начини да разберете колко дълго процесът трябва да завърши на вашия компютър.

В командния ред на Windows

В командния ред на Windows няма вграден начин за задаване на време за команда. Въпреки това, има поне един прост начин да разберете кога започват и спират командите ви. Можете да създадете команден файл, който използва променливата % time% на средата. Например, ако създадете команден файл, наречен mytime.bat, и му дайте следните редове:

 @echo off set timestart =% time%% * echo Начало:% timestart% echo Край:% време% 

Променливата % 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 Finish: 19 : 31: 18.89 

Забележка: Този метод не е точен. Той не измерва времето на процесора, а само времето за "стенен часовник". Така че други програми, изпълнявани на компютъра ви, ще повлияят на показаните времена. Също така, продължителността трябва да се изчисли ръчно, като се извади времето за стартиране от времето на финала.

В Windows PowerShell

В Windows PowerShell можете да разберете колко време е необходимо да се изпълни програмата, като я стартирате с командлета Measure-Command . Като цяло се използва по следния начин:

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

Командата ще се изпълни, но никакъв изход няма да бъде показан. Вместо това изходът ще покаже информация за това колко време отнема, за да се изпълни командата . Например:

 Измерване-командване {dir} 
 Дни: 0 Часове: 0 Минути: 0 Секунди: 0 Милисекунди: 14 Кърлежи: 142200 Общо дни: 1.64583333333333E-07 ОбщоЧасове: 3.95E-06 Общоминути: 0.000237 ОбщоСекунди: 0.01422 Общомилисекунди: 14.22 

В Linux

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

 time find / home / myuser -iname "* надежда *" 
 /home/myuser/files/computer-hope.jpg /home/myuser/backup/hope-backup.zip реално 0m0.298s потребител 0m0.164s sys 0m0.088s 

За разлика от Measure-Command, времето за Linux показва всички изходи от командата, която е във времето. След това докладва три пъти: потребителско време (колко време е действително прекарало командата), sys време (колко време е изразходвано от ядрото, изпълняващо необходимите системни задачи) и реално време (изминало общо време).

  • Как да настроите или промените датата и часа на компютъра.

Хардуерни условия, софтуерни термини