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


Автор: Trishi 6.5.2007, 23:30
Подскажите плиз, какой функцией в С++ вычисляются затраты времени на выполнение данного количества операций.

Автор: cardinal 6.5.2007, 23:38
Для этого есть Profiler.

Автор: Trishi 7.5.2007, 00:36
А что такое Profiler?. У меня задание просто в С++ написать программу разными способами и вычислить затраты времени на их действия.

Автор: cardinal 7.5.2007, 00:47
Цитата

Profile.exe - чрезвычайно простой и минимально функциональный профилировщик, попадающий в этот обзор лишь потому, что он входит в штатную поставку компилятора Microsoft Visual C++ (редакции - Professional и Enterprise), а потому достается большинству из нас практически даром, в то время как остальные профилировщики приходится где-то искать, скачивать или покупать.

http://www.codenet.ru/progr/optimize/kk/1.php

Автор: Partizan 7.5.2007, 07:21
cardinal, ну можно и самому это сделать....
засечь время перед выполнением программы и засечь после... =)
думаю не надо объяснять что разница даст результат)

Автор: dizzy1984 7.5.2007, 13:30
Цитата(Trishi @  7.5.2007,  00:36 Найти цитируемый пост)
У меня задание просто в С++ написать программу разными способами и вычислить затраты времени на их действия

Windows
::GetTickCount()
::QueryPerformanceCounter()
rdtsc

Dos
clock()

Автор: DigitSphinx 7.5.2007, 14:29
я обычно делаю так 

DWORD Time = GetTickCount();

БЛА БЛА БЛА

Time = GetTickCount() – Time;

А что такое ::QueryPerformanceCounter() ??

Автор: Rockie 7.5.2007, 15:36
http://forum.vingrad.ru/topic-101369/hl/something/index.html
http://forum.vingrad.ru/forum/topic-138032/kw-отсчет-времени/hl/%25D0%25B2%25D1%2580%25D0%25B5%25D0%25BC%25D1%258F%2Cand%2C%25D1%2580%25D0%25B0%25D0%25B1%25D0%25BE%25D1%2582%25D0%25AB/index.html


Автор: cardinal 7.5.2007, 16:39
Цитата(Partizan @  7.5.2007,  05:21 Найти цитируемый пост)
cardinal, ну можно и самому это сделать...

Никто не спорит. smile 

Автор: Robin 7.5.2007, 17:04
clock() - вернет время запуска всей программы
difftime(time_t time2, time_t time 1);

Код

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

void main()
{
time_t start, end;
volatile long unsigned t;

start = time(NULL);
for(t = 0 t<500000; t++);
end = time(NULL);
printf("%f seconds ", difftime(end, start));

Автор: JackYF 7.5.2007, 18:03
Цитата(dizzy1984 @  7.5.2007,  13:30 Найти цитируемый пост)
Dos
clock()


А причем тут clock к DOS?

Замечательно работает и под Виндой, и под Линухами как минимум.

Автор: dizzy1984 7.5.2007, 19:10
Цитата(JackYF @  7.5.2007,  18:03 Найти цитируемый пост)
А причем тут clock к DOS?

Хм... пожалуй, но почему-то его редко используют...

Автор: JackYF 8.5.2007, 00:14
Цитата(dizzy1984 @  7.5.2007,  19:10 Найти цитируемый пост)
но почему-то его редко используют...


Да, не очень часто. И все же smile

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