4 / 4 / 1
Регистрация: 01.03.2010
Сообщений: 83
|
||||||
1 | ||||||
Как узнать время выполнения алгоритма04.12.2010, 15:08. Показов 28857. Ответов 17
Метки нет Все метки)
(
Мне нужно сравнить несколько алгоритмов сортировки.
Но таким способом как у меня, дает очень маленькие значения .... дл массива int - ов, размером в [2000] было 0,016 для массива [20000] что то около 0,745 .... это нормально ? есть еще какие то методы ? ..... вот мой вариант
0
|
|
04.12.2010, 15:08 | |
Ответы с готовыми решениями:
17
как узнать время работы программы решения алгоритма Как узнать кодировку вывода в консоль во время выполнения программы? Как узнать тип шаблонного класса во время выполнения программы? Время выполнения алгоритма |
Freelance
![]() 2890 / 1825 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
|
||||||
04.12.2010, 15:11 | 2 | |||||
Так попробуй
0
|
4 / 4 / 1
Регистрация: 01.03.2010
Сообщений: 83
|
|
04.12.2010, 15:29 [ТС] | 3 |
в принципе тоже самое ...
и почему то когда запускаю несколько раз, выдает знаеение то ноль, то 15, то 16 а для сортировки вставками, постоянно ноль
0
|
377 / 228 / 79
Регистрация: 24.11.2009
Сообщений: 695
|
||||||
04.12.2010, 17:47 | 4 | |||||
скажите пожалуйста, каким компилятором вы пользуетесь.
Добавлено через 15 минут вобщем для g++: код
(b-a) - количество процессорных тактов.
0
|
4 / 4 / 1
Регистрация: 01.03.2010
Сообщений: 83
|
|
04.12.2010, 19:50 [ТС] | 5 |
пользуюсь Visual Studio 2008 , для него пойдет ?
1
|
377 / 228 / 79
Регистрация: 24.11.2009
Сообщений: 695
|
||||||
04.12.2010, 21:00 | 6 | |||||
источник утверждает что пойдет для десятой(и вероятно для восьмой) студии следующее:
0
|
4 / 4 / 1
Регистрация: 01.03.2010
Сообщений: 83
|
|
04.12.2010, 21:07 [ТС] | 7 |
0
|
377 / 228 / 79
Регистрация: 24.11.2009
Сообщений: 695
|
||||||
04.12.2010, 21:13 | 8 | |||||
0
|
4 / 4 / 1
Регистрация: 01.03.2010
Сообщений: 83
|
|
04.12.2010, 21:18 [ТС] | 9 |
0
|
377 / 228 / 79
Регистрация: 24.11.2009
Сообщений: 695
|
|
04.12.2010, 21:29 | 10 |
а код из шестого сообщения работает? (как Вы поняли у меня VS нет, поэтому проверить я не могу)
и "не работает" или "не компилируется"? если не копилируется - что в сообщении об ошибке?
0
|
242 / 120 / 14
Регистрация: 15.10.2010
Сообщений: 395
|
|||||||||||
04.12.2010, 21:46 | 11 | ||||||||||
Попробуйте структуру SYSTEMTIME.
Сортировки Эта проблема решается запуском функции сортировки много много раз, с определением среднего времени.
0
|
4 / 4 / 1
Регистрация: 01.03.2010
Сообщений: 83
|
||||||
04.12.2010, 21:46 [ТС] | 12 | |||||
код из 6 сообщения работает, я разобрался ,
0
|
377 / 228 / 79
Регистрация: 24.11.2009
Сообщений: 695
|
|
04.12.2010, 21:52 | 13 |
Хорошо, хотя теперь у меня возникли вопросы. Ладно, доберусь до машины с вс проверю.
Учитывайте, что есть тонкости с dts вроде общей загруженности проца другими программами и верной работы на некоторых многоядерных машинах. зы: а вобще RUSya82 насчёт многоразового запуска сортировки прав.
0
|
4 / 4 / 1
Регистрация: 01.03.2010
Сообщений: 83
|
|
04.12.2010, 22:22 [ТС] | 14 |
кажется я не совсем понял этот метод, тут их два, или один, а почему тогда разделили на два кода ?
0
|
242 / 120 / 14
Регистрация: 15.10.2010
Сообщений: 395
|
|
04.12.2010, 22:36 | 15 |
Один.
Объявите в начале функции main две переменные типа структуры SYSTEMTIME, в например st1 и st2. Функция GetLocalTime(&st1) записывает в st1 время на момент вызова. Далее Вы вызываете требуемую функцию сортировки 5000 раз(это число произвольно). Далее GetLocalTime(&st2) записывает в st2 время окончания сортировок. Вторая часть выводит на экран время в миллисекундах. Просто разница во времени делится на 5000, чтобы получить среднее время, на работу одной функции. З.Ы. подключите windows.h
0
|
![]() |
||||||
04.12.2010, 22:36 | 16 | |||||
0
|
242 / 120 / 14
Регистрация: 15.10.2010
Сообщений: 395
|
|
04.12.2010, 22:37 | 17 |
Между первой и второй частью может быть какой то код, как в моей программе, из которой я ето взял.
0
|
4 / 4 / 1
Регистрация: 01.03.2010
Сообщений: 83
|
||||||
04.12.2010, 23:15 [ТС] | 18 | |||||
Разобрался, нормально. в принципе выдает тоже самое что
0
|
04.12.2010, 23:15 | |
Помогаю со студенческими работами здесь
18
Рассчитать время выполнения алгоритма Как правильно задать параметр "время выполнения алгоритма"? Алгоритм Евклида, показать время выполнения алгоритма Время выполнения рекурсивного и итерационного алгоритма быстрой сортировки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |