![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| steks |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 19.5.2010 Репутация: нет Всего: нет |
В общем, у меня есть задание написать программу которая строит графики зависимости методов сортировки от времени. Методы сортировки: Шелла и метод рекурсии. Все нормально сделал, сортирует и тем и другим методом правильно. НО! Время сортировки и в первом, и во втором случае выводит равное 0!
Время засекал через clock_t в библиотеке time.h. Есть предположение, что функции сортировки работают настолько быстро, что время нельзя посчитать, хотя в случае увеличении кол-ва эл-тов до 8000,например, тот же результат! Помогите кто знает! Очень нужно и очень срочно! |
|||
|
||||
| rudvil |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 20.11.2009 Где: Latvia/Riga Репутация: 2 Всего: 3 |
Это сообщение отредактировал(а) rudvil - 19.5.2010, 21:37 --------------------
xor |
|||
|
||||
| steks |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 19.5.2010 Репутация: нет Всего: нет |
Я делал почти так же:
Но возвращает время равное нулю(( |
|||
|
||||
| rudvil |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 20.11.2009 Где: Latvia/Riga Репутация: 2 Всего: 3 |
У меня работает корректно, + у меня тип double, что не маловажно. Скопируй мой код без изменений, должно работать правильно. --------------------
xor |
||||
|
|||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
точнее использовать не время, а количество тактов процессора
если компилятор - msvc, то
|
|||
|
||||
| steks |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 19.5.2010 Репутация: нет Всего: нет |
Сделал так же. Тоже выводит 0. Проблема в том, что функция расчета времени маленькие значения видимо округляет в ноль. Может есть другие функции? Что-нибудь наподобие таймера
Добавлено через 4 минуты и 3 секунды
А где взять эту библиотеку? у меня borland c++ v1.3 |
||||
|
|||||
| ИванМ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1260 Регистрация: 19.6.2006 Где: СПб Репутация: 1 Всего: 23 |
timeGetTime
GetTickCount QueryPerformanceCounter |
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 8 Всего: 39 |
-------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
steks, можете написать сами, как-то так
но проще конечно те что написал ИванМ. |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Вызывайте вашу функцию сортировки не 1 раз, а скажем 1000000 раз. Только не забудьте восстанавливать входные массивы обратно перед каждым вызовом сортировки
|
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
Лет 7 назад был у меня какой-то плагин для VS, выдавал подробный отчет по работе каждой функции в миллисекундах, ставился на Visual Studio 6, вот название никак не вспомню
|
|||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 7 Всего: 50 |
Еще не вспомнил? |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Видимо это был VTune. Вот только плагином бы я его не назвал
|
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
||||
|
||||
| HellStranger |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 1.9.2009 Репутация: -2 Всего: -1 |
Ну правильно тебе посоветовали считать тактами... Можно, код на асме наваять, пример тебе уже дали. QueryPerfomanceCounter также, начиная по-моему с XP, возвращает число тактов процессора с момента последней перезагрузки.
Это сообщение отредактировал(а) HellStranger - 30.7.2010, 12:20 |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |