Определить время работы функции - C (СИ)
Формулировка задачи:
Решение задачи: «Определить время работы функции»
#include <windows.h> #include <stdio.h> int main(int argc, char* argv[]) { long tb,te,i,j,s; tb=GetTickCount(); for (j=0; j<1000; j++) { s=0; for (i=0; i<= 1000000; i++) s+=2*i-1; } te=GetTickCount(); printf("Elapsed time %d (ticks)\n",te-tb); return 0; }
Объяснение кода листинга программы
В этом коде используется функция GetTickCount() для измерения времени выполнения. Код выполняет два прохода по массиву (в общем случае это может быть любое число, в данном случае 1 000 000), причем внутренний цикл выполняет вычисления суммы ряда чисел от 1 до 1 000 000. Счетчик tb инициализируется значением, возвращаемым функцией GetTickCount(), в начале выполнения программы. Затем начинается первый проход по массиву, в котором счетчик s инициализируется нулем. Значение s увеличивается на 2*i-1 для каждого i от 0 до 1 000 000. После первого прохода по массиву, счетчик tb снова инициализируется значением, возвращаемым функцией GetTickCount(). Затем начинается второй проход по массиву, который идентичен первому. После завершения второго прохода по массиву, значение te инициализируется значением, возвращаемым функцией GetTickCount(). Затем вычисляется разница между te и tb, которая выводится на экран. Код возвращает 0, что обычно означает успешное выполнение.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д