Mikä on kesto?

Kesto on aika, joka kuluu prosessin loppuunsaattamiselle. Jos haluat käyttää todellista esimerkkiä: jos katsot kelloa ja huomaat ajan, mene ulos kävelemään, sitten palaa ja katso, että viidentoista minuuttia on kulunut, kävelysi kesto oli 15 minuuttia.

Tietokoneissa on erityistä laitteistoa ajan mittaamiseksi, ja käyttöjärjestelmissä on komentoja, joiden avulla voit mitata ohjelman keston.

Nykyaikaisissa tietokoneissa aika voidaan mitata eri kelloilla.

  • RTC (reaaliaikakello) käyttää kvartsikiteitä, jotka värähtelevät jatkuvasti taajuudella seuratakseen "ihmisen aikaa": vuotta, kuukautta, päivää, tuntia, minuuttia ja sekuntia. Kuitenkin sen taajuus (32768 Hz) on liian hidas mittaamaan 1/32768 sekuntia pienempiä ajanjaksoja. Nykyaikaiset keskusyksiköt voivat suorittaa operaation paljon nopeammin kuin tämä, joten RTC ei voi mitata tarkasti tietokoneen prosessin kestoa.
  • PIT (ohjelmoitava aikaväli) on laitteistolaskuri, joka voi laukaista keskeytyksen, kun tietty määrä on saavutettu. Yhteinen PIT on integroitu Intel 8253 -piiri, joka on alun perin suunniteltu käytettäväksi Intel 8080 -prosessorin kanssa. Se toimii taajuudella 1, 193182 MHz. Sitä käytetään järjestelmän kellona monissa käyttöjärjestelmissä, kuten Windowsissa ja Linuxissa.
  • TSC (aikaleiman laskuri) on 64-bittinen rekisteri, joka sijaitsee kaikilla moderneilla x86-prosessoreilla. Se laskee yksittäisiä CPU-kelloja ja esiteltiin ensin Intelin CPU: n Pentium-rivillä. Aluksi se oli hyödyllinen, kun tarjottiin kello, joka voisi mitata pienempiä ajanjaksoja kuin RTC tai PIT. Se vaatii kuitenkin, että CPU toimii vakionopeudella tarkan mittauksen saamiseksi. Uudemmat CPU: t voivat muuttaa taajuutta (esimerkiksi siirtyä "turbo" -tilaan saadakseen tilapäisen nopeuden lisäämiseksi tai työntämällä alaspäin pienempään nopeuteen, kun säästät virtaa). Joten TSC, joka on edelleen käyttökelpoinen muuhun tarkoitukseen, ei ole enää luotettava mittaamaan vakioaikaa.
  • HPET (korkean tarkkuuden tapahtuma-ajastin) on Intelin ja Microsoftin yhteisesti kehittämä laitteistoajastin, joka on saatavana vuoden 2005 jälkeen valmistetuissa tietokoneissa. CPU-piirisarjassa emolevyssä HPET sijaitsee tavallisesti eteläisellä sillalla. Se laskee aikaa 64 bitissä vähintään 10 MHz: ssä ja käyttää kolmea "komparaattorilaskuria" (joko 32-bittistä tai 64-bittistä) saavuttaakseen erittäin tarkan aikamittauksen. HPET-laitetta käytetään tietokoneessa moniin tarkoituksiin, kuten äänivirran synkronointi videota toistettaessa.

Tarkin näistä ajoitusmenetelmistä on HPET .

Kuinka aikaa prosessoidaan tietokoneessa

On useita tapoja selvittää, kuinka kauan prosessi kestää tietokoneellasi.

Windowsin komentokehotteessa

Windows Command Promptissa ei ole sisäänrakennettua aikaa komentoa varten. On kuitenkin olemassa ainakin yksi yksinkertainen tapa selvittää, milloin komento aloitettiin ja pysäytettiin. Voit luoda erätiedoston, joka käyttää % time% -ympäristön muuttujaa. Jos esimerkiksi luodaan erätiedosto nimeltä mytime.bat ja annat sille seuraavat rivit:

 @echo off set timestart =% time%% * echo Aloitus:% timestart% echo Valmis:% time% 

Muuttuja % time% on nykyinen aika ja % * on kaikki komennon nimen jälkeen. Niinpä dir- komennon aika:

 mytime dir c: \ t 
 Äänenvoimakkuus taajuusmuuttajassa C on Windows10 Volume Serial Number on 5CB6-BCD6 Hakemisto c: [ hakemistoluettelo ... ] 28 Tiedosto (t) 4, 500, 506 tavua 12 Dir (t) 23, 807, 946, 752 tavua vapaa Aloita: 19: 31: 18.87 Viimeistely: 19: 31: 18.87 : 31: 18.89 

Huomautus: Tämä menetelmä ei ole tarkka. Se ei mittaa CPU-aikaa, vain "seinäkelloaika". Joten muut tietokoneessa käynnissä olevat ohjelmat vaikuttavat näytettyihin aikoihin. Myös kesto on laskettava manuaalisesti vähentämällä "aloitus" -aika "viimeistelystä".

Windows PowerShellissä

Windows PowerShellissa voit selvittää, kuinka kauan ohjelma kestää, käynnistämällä se Measure-Command- cmdletillä. Yleensä sitä käytetään näin:

 Mittaa-komento { komento } 

Komento toimii, mutta mitään tulostusta ei näytetä. Sen sijaan tulostus näyttää tiedot siitä, kuinka kauan komennon suorittaminen on kulunut loppuun. Esimerkiksi:

 Toimenpide-komento {dir} 
 Päiviä: 0 tuntia: 0 minuuttia: 0 sekuntia: 0 millisekuntia: 14 punkkia: 142200 yhteensäpäiviä: 1.64583333333333E-07 yhteensäTunnit: 3.95E-06 yhteensä: 0, 000237 yhteensäSekuntia: 0.01422 yhteensä: 14.22 

Linuxissa

Linuxissa voit etukäteen minkä tahansa shell-komennon aikakäskyn avulla sen keston mittaamiseksi. Esimerkiksi seuraava komento löytää kaikki nykyisen hakemiston tai sen alla olevat tiedostot, jotka sisältävät sanan toivo, ja ilmoittavat, kuinka kauan niiden löytäminen on kulunut:

 aika löytää / home / myuser -iname '* hope *' 
 /home/myuser/files/computer-hope.jpg /home/myuser/backup/hope-backup.zip todellinen 0m0.298s käyttäjä 0m0.164s sys 0m0.088s 

Toisin kuin Measure-Command, Linux- aika näyttää ajastetun komennon kaikki lähdöt. Sitten se raportoi kolme kertaa: käyttäjäaika (kuinka paljon aikaa komennolla käytettiin), sys-aika (kuinka paljon aikaa kului ydin suorittamalla vaaditut järjestelmätehtävät) ja reaaliaika (kulunut aika).

  • Tietokoneen päivämäärän ja kellonajan asettaminen tai muuttaminen.

Laitteiston termit, ohjelmiston ehdot