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_SECHodnota tejto konštanty predstavuje počet hodinových tikov za sekundu meraných funkciou
clock. - Datový typ:
clock_tToto je typ hodnoty, ktorú vracia funkcia
clockHodnoty premenných typuclock_tsa 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