| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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! |