Základná práca s časom

Všetko, čo potrebujeme pre prácu s časom je pripravené v knižnici time.h

Na zmeranie času, ktorý procesor spotreboval na nejaký proces s výhodou použijeme funkciu clock();, deklarovanú v time.h. Funkcia vráti uplynutý čas procesora. Typické použitie tejto funkcie ilustruje nasledujúci príklad. Funkciu zavoláme na začiatku a na konci intervalu, ktorého dĺžku chceme merať a obe hodnoty odčítame. Tým zistíme, koľko hodinových tikov procesor za daný interval spravil. Lenže nie na každom systéme je počet tikov za sekundu rovnaký. Preto je zadefinovaná konštanta CLOCKS_PER_SEC, ktorou musíme vypočítaný rozdiel vydeliť. Tým dostaneme priamo čas v sekundách.

#include <time.h>

clock_t Start, Koniec;      // premenne typu clock_t
float Trvanie;              // tu bude vysledok merania

Start = clock();
/* tuto nieco robime, co treba zmerat */
Koniec = clock();

// Vypocet dlzky trvania

Trvanie = (float)(Koniec – Start) / CLOCKS_PER_SEC; 

Rôzne počítače a rôzne operačné systémy sa podstatne líšia v sledovaní procesorového čaasu. Rozlíšenie býva obvykle medzi stotinami až milióntinami sekundy. Aj implementácia premenných býva rôzna, preto je zadefinovaný špeciálny typ clock_t, ktorý je na niektorých počítačoch ekvivalentný s typom long int a konštanta CLOCKS_PER_SEC je tiež celočíselná. Na iných systémoch môžu byť obe typu float.

 

  • Makro: int CLOCKS_PER_SEC

    Hodnota tejto konštanty predstavuje počet hodinových tikov za sekundu meraných funkciou clock.

  • Datový typ: clock_t

    Toto je typ hodnoty, ktorú vracia funkcia clock Hodnoty premenných typu clock_t sa udávajú v počte tikov hodín.

  • Funkcia: clock_t clock (void)

    Táto funkcia vracia uplynutý čas procesora.

Pozor: najprv sa snažte program pochopiť, potom si naštudujte ako dané funkcie fungujú v msdn a až potom ich použite vo vlastnom programe.

 

Tip: Stiahnite a vyskúšajte si vzorový program na prácu s časom a knižnicou time.h

Close Menu