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


Автор: sh_temp_el 27.4.2005, 20:25
Есть код :


int SomeFunc()
{
//----------------------
int a,b,c;
a = 10;
b = 5;
c = a+b;
return c;
//----------------------
}

сам код не суть важен...

как узнать за какое время выполняется между коментариями ???

БЕЗ __asm{} ВСТАВОК !!!!!!!!!!!!!!!!

Автор: AISIN 27.4.2005, 20:43
Цитата(sh_temp_el @ 27.4.2005, 20:25)
Есть код :


int SomeFunc()
{
//----------------------
int a,b,c;
a = 10;
b = 5;
c = a+b;
return c;
//----------------------
}

сам код не суть важен...

как узнать за какое время выполняется между коментариями ???

БЕЗ __asm{} ВСТАВОК !!!!!!!!!!!!!!!!

А ты программно засеки время вначале и в конце!!! Потом вычти одно из
другого и получишь время выполнения!!!

Автор: Бегемот 27.4.2005, 21:03
Цитата
А ты программно засеки время вначале и в конце!!! Потом вычти одно из
другого и получишь время выполнения!!!

Мысля такая же мелькнула! Реализовал всё это: конкретно для этого примера результат разности 0 (мсек).

Автор: Artiom 27.4.2005, 21:22
Цитата(rewerew @ 27.4.2005, 20:03)
Реализовал всё это: конкретно для этого примера результат разности 0 (мсек).

Сделай в цикле тысячу раз и раздели на 1000
А как засекать время можно найти поиском - много раз обсуждалось

Автор: sh_temp_el 28.4.2005, 04:37
Если сделать цикл, то такты будут
тратиться и на проверку условия выхода из цикла...

Автор: Ggamhat 28.4.2005, 05:46
Цитата
Мысля такая же мелькнула! Реализовал всё это: конкретно для этого примера результат разности 0 (мсек).

Врядли у вас получится засечь выполнение столь мелкой функции. 10 мсек минимум, по длительности должна выполняться.

Автор: Alastis 28.4.2005, 07:38
замерить время выполнения конкретно этой функции вряд ли возможно с большой точностью, а так вообще используй такие точные таймеры как QueryPerfomanceCounter и rdtsc

Автор: Дрон 28.4.2005, 08:20
Цитата(sh_temp_el @ 28.4.2005, 05:37)
Если сделать цикл, то такты будут
тратиться и на проверку условия выхода из цикла...

А ты потом замерь время выполнения пустого цикла и вычти его smile

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