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


Автор: niro 8.11.2007, 23:32
Как получить скорость выполнения функций с большой точностью. Пытался использовать примеры, ранее опубликованные, но нет нужного результата - малая точность. Есть варианты под g++ ? 

Автор: archimed7592 8.11.2007, 23:35
ОС какая?

Автор: ksili 9.11.2007, 08:01
Можно заюзать профилировщик. Если проц AMD, то для него профилировщик AMD Code Analyst бесплатный.
Цитата(niro @  9.11.2007,  03:32 Найти цитируемый пост)
нет нужного результата - малая точность

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

Автор: xvr 9.11.2007, 14:07
Цитата(niro @ 8.11.2007,  23:32)
Как получить скорость выполнения функций с большой точностью. Пытался использовать примеры, ранее опубликованные, но нет нужного результата - малая точность. Есть варианты под g++ ?

Для x86 архитектуры - rdtsc

Автор: niro 9.11.2007, 17:48
OC linux. (*nix)
вот например в python можно написать так:
Код

import time
start = time.time()
.. some code..
stop. = time.time()
print stop-start

и в итоге получить точность с шестью знаками после запятой. В c++ так не проходит

Добавлено через 7 минут и 8 секунд
Вроде бы нашел http://ru.wikipedia.org/wiki/Rdtsc

Автор: archimed7592 9.11.2007, 19:08
Цитата(niro @  9.11.2007,  17:48 Найти цитируемый пост)
и в итоге получить точность с шестью знаками после запятой

Ты действиетльно думаешь, что получишь время выполнения только этого кода? smile

Автор: niro 9.11.2007, 20:36
естественно погрешность есть, но когда видишь постоянный результат типа 0.02, то это как то не очень радует.

Автор: archimed7592 9.11.2007, 20:44
Цитата(niro @  9.11.2007,  20:36 Найти цитируемый пост)
когда видишь постоянный результат типа 0.02, то это как то не очень радует.


Цитата(niro @  9.11.2007,  17:48 Найти цитируемый пост)
OC linux. (*nix)


man times

Автор: MAKCim 9.11.2007, 21:05
Цитата(archimed7592 @  9.11.2007,  20:44 Найти цитируемый пост)
man times 

 smile 
не начинай

Автор: niro 9.11.2007, 23:16
man time , юниксоиды млин... 

Автор: MAKCim 9.11.2007, 23:19
niro, 
Цитата(niro @  9.11.2007,  23:16 Найти цитируемый пост)
man time , юниксоиды млин... 

ну и набери man time
что получил?  smile 
юниксоид, блин
именно times делает то, что тебе нужно

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