Как засечь время выполнения функции? - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Упражнение 3.1 K&R
В нашей программе бинарного поиска внутри цикла осуществляются две проверки, хотя могла быть только одна (при увеличении числа проверок вне цикла). Напишите программу, предусмотрев в ней одну проверку внутри цикла. Оцените разницу во времени выполнения.
как новичку без серьезных описаний и дополнений кода засечь время выполнения функции? работаю в QT

Решение задачи: «Как засечь время выполнения функции?»

textual
Листинг программы
void function(list argument){
   clock_t time_start= clock(); 
   ///body function
   clock_t time_end = clock() - time_start;
   printf("%u", (double)time_end / CLOCKS_PER_SEC);

Объяснение кода листинга программы

  1. В функции function объявлен параметр argument типа list.
  2. В начале функции, в переменной time_start, сохраняется текущее значение часовщика.
  3. Выполняется тело функции.
  4. В переменной time_end хранится время, прошедшее с момента вызова функции до ее окончания.
  5. Значение time_end выводится на экран с помощью функции printf.
  6. В качестве формата вывода используется строка %u, которая означает, что нужно вывести значение без знака.
  7. Для получения времени в секундах используется константа CLOCKS_PER_SEC.
  8. (double) перед time_end обеспечивает преобразование значения в тип double, чтобы результат можно было разделить на количество секунд в часе.
  9. Результат вычисления time_end / CLOCKS_PER_SEC выводится на экран.

Оцени полезность:

11   голосов , оценка 4.182 из 5
Похожие ответы