LinuxForum.Fans
Тема

Как вычислить время операции...

Автор: DimonK 4 сообщений 2033 просмотров
#145018

Привет всем!
Подскажите, пожалуйста, как можно вычислить время операции, ну, на пример, открытие БД...

#145023
text

#include <unistd.h>

timespec ts; clock_gettime(CLOCK_THREAD_CPUTIME_ID, &ts1); // время в текущем потоке clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &ts); // в текущем процессе

дальше ИМХО всё понятно...

#145031
DimonK написал:
Подскажите, пожалуйста, как можно вычислить время операции, ну, на пример, открытие БД...
man 1 time написал:
ОПИСАНИЕ
Команда time запускает указанную команду с заданными аргументами. Когда команда завершается, time выводит на стандартный вывод статистическое сообщение об использованном времени при этом запуске. Эта статистика содержит (i) реальное время выполнение между вызовом и завершением, (ii) время CPU, которое занял пользователь (сумма значений tms_utime и tms_cutime в структуре struct tms , которая возвращается вызовом times(2)), и (iii) время CPU занятое системой (сумма значений tms_stime и tms_cstime в структуре struct tms , которая возвращается вызовом times(2)).
man 2 time написал:

time_t time(time_t *t);
ОПИСАНИЕ
Функция time возвращает время в секундах, прошедшее с начала этой эпохи (00:00:00 UTC, 1 Января 1970 года). Если t не равно нулю, то возвращаемое значение будет также сохранено в памяти структуры t.
ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
При удачном завершении работы функции возвращается время в секундах, прошедшее с начала этой эпохи. При ошибке возвращается ((time_t)-1), а переменной errno присваивается номер ошибки.
Войдите или зарегистрируйтесь, чтобы ответить.