Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Программирование под Unix/Linux > время работы функции


Автор: max07 14.3.2006, 20:19
Всем прювет,

какой есть способ узнать сколько времени работала функция например в секундах?

Спасибо.

Автор: GrayCardinal 15.3.2006, 06:13
Забей на секунды. Пользуй микросекунды ! (прям лозунг)
Скатай отсюдавот
www.sf.net/projects/slilentbob
"DLib" и пользуй
Dtimer
and
print_the_time
Ну или подправь последнюю под свои нужды. Скорее всего Dfork тебе там тоже понравится smile
Добавлено @ 06:14
А вообще два
gettimeofday
и дело в шляпе (на эти два вызова у меня уходит 5мкс)

Автор: max07 15.3.2006, 12:53
Скачал я эту либу, но чё то там ничё не ясно... Не нашёл ничё, мож искать не умею.

Автор: GrayCardinal 15.3.2006, 21:44
Угу. Я в курсе. Документации там нет совсем (и не будет). Я предлагал глянуть код означенных функций. Короче,
$ man gettimeofday
$ man time
$ man ctime

Автор: max07 16.3.2006, 14:08
Как пользоваться то этой gettimeofday?

Пишу так:

Код

#include <time.h>

typedef struct timeval tm;

  tm start, end;
  float  msecs = 0.0;

gettimeofday ( &start, NULL );

// deistvija

gettimeofday ( &end, NULL );
msecs = ( end.tv_usec - start.tv_usec );
cout << "Time: " << msecs << endl;


и вот чё получаю при компиляции:

Код

main.cpp:78: error: `gettimeofday' undeclared (first use this function)


всё разобрался, просто надо было так: #include <sys/time.h> smile

Автор: GrayCardinal 16.3.2006, 16:08
max07,
Бывает. С начала. Потом чисто рефлекторно смотришь что надо прописывать ;)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)