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 typuclock_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