![]() |
|
Модераторы: bsa |
![]()
|
|
| Remiznik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 379 Регистрация: 30.4.2005 Репутация: 1 Всего: 1 |
есть два алгоритма решения задачи .... как можно посчитать какой быстрее ? может есть какие таймеры ?
|
|||
|
||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 4 Всего: 39 |
Оценка времени выполнения каждой всех функций
можно выводить на экран, в лог, юзай gettickcount, gettime? считай разницу во времени. -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 27 Всего: 154 |
оцени сложность каждого алгоритма
|
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 6 Всего: 26 |
Dem_max, как я понял профайлер точно время выполнения функции не замерит
для точных замеров gettickcount и gettime не подходят, лучше использовать QueryPerformanceCounter, а еще лучше юзать асм-вставки само собой надо соблюсти правильные условия измерения, чтобы не влияло переключение потоков и проч. |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
GoldFinch, зачем так сложно? Запускаешь по очереди обе функции в цикле из множества итераций. И сравниваешь время исполнения каждого варианта. Тут же надо только определить, что быстрее.
|
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 27 Всего: 154 |
тогда уж лучше запускать на 2х наборах данных сильно разного размера, что-бы узнать как масштабируется каждый из них |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 6 Всего: 26 |
bsa, тогда ты получишь время_1_итерации*число_итераций+время_работы_других_потоков
погрешность может составлять десятки процентов Добавлено через 1 минуту и 19 секунд не, конечно если одна функция в 2 раза быстрее другой, ты это заметишь, а если разница меньше чем в два раза, ты можешь ее и не заметить |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Когда абсолютное время выполнения циклов значительное, то время ушедшее на левые потоки примерно равно или пренебрежимо мало отличается. |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |