Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Общие вопросы > Требуется замерить время выполнения алгоритма |
Автор: Pakshin A. S. 31.3.2006, 22:08 | ||
Появилось желание замерить время выполнения алгоритма в программе для последующей его оптимизации. Завести таймер как-то не хочется, так как не красиво... Поэтому хотелось сделать замер более изящным. Общая схема мне так представляется:
Как реализовать? ![]() |
Автор: Matematik 31.3.2006, 22:10 | ||
|
Автор: Pakshin A. S. 31.3.2006, 22:21 |
Спасибо за оригинальный овтет. ![]() |
Автор: maxim1000 31.3.2006, 22:23 |
еще можно попробовать GetThreadTimes... |
Автор: cardinal 31.3.2006, 22:32 |
см. profiler В Visual C++ ты можешь посмотреть например сколько времени длится каждая функция... |
Автор: Alex 1.4.2006, 06:32 |
http://forum.vingrad.ru/index.php?showtopic=21411&view=findpost&p=309202 |
Автор: Демо 1.4.2006, 13:55 |
Pakshin A. S., Посмотри на http://forum.vingrad.ru/index.php?showtopic=84401&hl= Очень точно время замерить нельзя - все-таки не система реального времени. В качестве варианта можешь запкстить поток свысоким приоритетом, в нем алгоритм прогр\нать в цикле раз 100, средние результаты получить. Либо запускать в консольном приложении, чтобы не влиял GUI. |
Автор: Демо 1.4.2006, 15:21 |
С какой стати? Проблемы точно те же - ОС не RealTIme. Добавлено @ 15:23 Хотя в отдельном потоке будет точнее. Да и других факторов много. |
Автор: bems 1.4.2006, 15:28 |
Ну и что? если при переходе кернелмод<->юзермод, и при сохранениии-восстановлении контекста потока делать замеры времени (а примерно эту инфу и получает GetThreadTimes, мне так кажеться))) то результат будет точным. Проблема с реалтаймом-нереалтаймом возникает когда нужно предсказать/установить это время заранее, а если нужно только замерять, какая разница? |
Автор: AZDesign 5.4.2006, 11:59 | ||||||
Измерения проводятся для оптимизации алгоритма на своем компьютере. В этом случае все рассуждения о Real-Time теряют смысл. Есть компьютер со свои быстродействием и своими накладными расходами. До оптимизации и после оптимизации эти параметры не меняются. В этом случае замер делается просто:
|
Автор: bems 5.4.2006, 13:37 | ||
GetThreadTimes! |