Как замерять время выполнения функции?

Чтобы замерить время выполнения функции в языке программирования C, можно использовать функции clock() или gettimeofday().

Первый способ - использование функции clock(). Эта функция возвращает количество процессорных тактов, прошедших с начала выполнения программы. Чтобы замерить время выполнения функции, нужно вызвать clock() до и после вызова функции и вычислить разницу между значениями.

#include <stdio.h>
#include <time.h>

void myFunction() {
    // тут код вашей функции
}

int main() {
    clock_t start_t, end_t;
    double total_t;

    start_t = clock(); // запускаем таймер

    myFunction(); // вызываем вашу функцию

    end_t = clock(); // останавливаем таймер

    total_t = (double)(end_t - start_t) / CLOCKS_PER_SEC;

    printf("Время выполнения функции: %f секундn", total_t);

    return 0;
}

Второй способ - использование функции gettimeofday(). Эта функция возвращает время в секундах и микросекундах с начала эпохи. Чтобы замерить время выполнения функции, нужно вызвать gettimeofday() до и после вызова функции и вычислить разницу между значениями.

#include <stdio.h>
#include <sys/time.h>

void myFunction() {
    // тут код вашей функции
}

int main() {
    struct timeval start_time, end_time;
    double total_time;

    gettimeofday(&start_time, NULL); // запускаем таймер

    myFunction(); // вызываем вашу функцию

    gettimeofday(&end_time, NULL); // останавливаем таймер

    total_time = (end_time.tv_sec - start_time.tv_sec) +
                 (end_time.tv_usec - start_time.tv_usec) / 1000000.0;

    printf("Время выполнения функции: %f секундn", total_time);

    return 0;
}

Оба этих способа позволяют замерить время выполнения функции в секундах, их выбор зависит от вашего предпочтения и особенностей операционной системы.