Показаны сообщения с ярлыком Time measurement. Показать все сообщения
Показаны сообщения с ярлыком Time measurement. Показать все сообщения

Linux: запуск программы на одном процессоре

В многопроцессорных системах иногда полезно в целях отладки (или, например, измерения производительности) запускать программу только на одном процессоре. Это можно сделать в Linux с помощью команды:
taskset -c 0 ./program_name
Это команда запускает процесс с заданным свойством CPU affinity; оно, в свою очередь, определяет список процессоров, на которых планировщик может запускать данный процесс. В данном примере оно позволяет планировщику запускать заданный процесс только на ядре номер 0. Можно также указать несколько номеров через запятую.

Вычислениe времени выполнения участка кода на Си/C++. Часть 2: функция clock_gettime

Некоторое время назад мне понадобилось измерить время работы одного алгоритма, и я нашел быстрое решение для этого: Вычислениe времени выполнения участка кода на Си/C++. Дальнейшее исследование показало, что способ этот отнюдь не идеален.

Вычислениe времени выполнения участка кода на Си/C++

#include <sys/time.h>

long dtime(){
    struct timeval tv;
    long t;
    gettimeofday(&tv, NULL);
    t = tv.tv_sec * 1000 + tv.tv_usec / 1000;
    return t;
}

int main() {

    long t0 = dtime();
    
    //Something to measure
    
    long t1 = dtime() - t0;

    return 0;
}
Продолжение с более корректным способом измерения здесь.