linux:miscc

Program, który wyświetla jak długo wykonywał się fragment kodu.

clock() zwraca liczbę chwilek (tików) od czasu uruchomienia procesu, typ clock_t jest zazwyczaj long int-em, żeby dostać ilość sekund, trzeba tę wartość podzielić przez CLOCKS_PER_SEC. Ponieważ sekunda to dla nas za mało dokładnie, a nie chcemy używać float-ów, przeliczam od razu na milisekundy.

  #include <stdio.h>
  #include <time.h>
 
  #define CLOCKS_PER_MSEC (CLOCKS_PER_SEC / 1000)
 
  int main() {
    clock_t zegar_start, zegar_stop;
    zegar_start = clock();
 
    /* nic nie rob przez jakis czas */
    int i;
    for ( i = 0 ; i < 10000000 ; i++ );
 
    zegar_stop = clock();
 
    long int sekundy;
    sekundy = (zegar_stop - zegar_start) / CLOCKS_PER_MSEC;
 
    printf("Nie robilem nic przez: %ld milisekund.\n",sekundy);
    return 0;
  }