Программирование в стандарте POSIX


Пример 12.23


#include

#include

#include

#include

int main (void) {

clockid_t clk_id; /* Идентификатор часов процессорного времени */

struct timespec tmsp;

double s = 0;

double d = 1;

int i;

if ((errno = clock_getcpuclockid ((pid_t) 0, &clk_id)) != 0) {

perror ("CLOCK_GETCPUCLOCKID");

return (1);

}

if (clock_getres (clk_id, &tmsp) == -1) {

perror ("CLOCK_GETRES");

return (2);

}

printf ("Разрешающая способность часов процессорного времени: %ld нсек.\n",

tmsp.tv_nsec);

/* Измерим процессорное время выполнения цикла. */

fprintf (stderr, "Начало выполнения цикла\n");

tmsp.tv_sec = tmsp.tv_nsec = 0;

if (clock_settime (clk_id, &tmsp) == -1) {

perror ("CLOCK_SETTIME");

return (3);

}

for (i = 1; i <= 100000000; i++) {

s += d / i;

d = -d;

}

if (clock_gettime (clk_id, &tmsp) == -1) {

perror ("CLOCK_GETTIME");

return (4);

}

fprintf (stderr, "Процессорное время выполнения цикла: %ld сек. %ld нсек.\n",

tmsp.tv_sec, tmsp.tv_nsec);

return (0);

}




Начало  Назад  Вперед



Книжный магазин