Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

C++ время выполнения.

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> C++ время выполнения.
Имя
Сообщение << Старые топики   Новые топики >>
C++ время выполнения. - 2007-04-29 17:43:56.990000   
Равечка

Сообщений: 8
Оценки: 0
Присоединился: 2007-04-29 17:40:54.363333
Знающие люди, не могли бы вы мне помочь?
 
Как на Билдере 6 сделать чтобы вычислялось время выполнения программы или куска программы. Перепробывал всё что только можно. функция time_t выдает неверное значение юникс-стампа, почему так и не понял. Возможно я ее не правильно юзаю.
 
Всем ответившим заранее спасибо :)
Post #: 1
RE: C++ время выполнения. - 2007-04-29 17:51:48.216666   
RamMerLabs

Сообщений: 615
Оценки: 0
Присоединился: 2007-04-06 23:05:13.516666
пробуй rdtsc через асм-вставку в начале функции и в конце, вычисляй разницу и получай время выполнения в тактах проца, но погрешность всё равно будет, т.к. на выполнение rdtsc и операции вычитания потратятся дополнительные такты.
Post #: 2
RE: C++ время выполнения. - 2007-04-29 19:29:31.023333   
mBot

Сообщений: 41
Оценки: 0
Присоединился: 2007-01-05 19:29:17.840000
Зачем асм-вставки тут использовать?Все проще.
         #include <time.h>
         clock_t clock(void);
Определяет  процессорное время,  использованное вызывающим процессом в момент обращения к clock.
Возвращает  время,  апроксимирующее  использованное вызывающей программой процессорное время. Деля возвращаемое clock() значение на величину,  определяемую макросом CLK_TCK, получаем время в секундах.
         Используем так.
        const int size = 1000000;
        vector<int> vec;
        for(int i = 0;i<size;++i)
           vec.push_back(rand() % 1000);
       int time = clock();
       sort(vec.begin(),vec.end());
       cout<<'\t'<<clock()/CLK_TCK - time/CLK_TCK<<endl;
Т.е. заполняем вектор и определяем время его сортировки.Печатаем разницу.
Видно что такой вектор сортируется за 8 секунд.
Post #: 3
RE: C++ время выполнения. - 2007-04-29 22:01:27.280000   
Равечка

Сообщений: 8
Оценки: 0
Присоединился: 2007-04-29 17:40:54.363333
Большое спасибо, сделал :) только пришлось использовать как stl::clock();
Post #: 4
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> C++ время выполнения.







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.