0 / 0 / 0
Регистрация: 16.10.2019
Сообщений: 80
|
||||||
1 | ||||||
Как работает время в программе, почему сортировка массива на 1000 элементов быстрее, чем сортировка массива на 8?11.04.2020, 02:44. Показов 1374. Ответов 1
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
|
|
11.04.2020, 02:44 | |
Ответы с готовыми решениями:
1
Алгоритм быстрой сортировки для двумерного массива. Получается, чем меньше столбцов, тем быстрее сортировка Сортировка выбором с обменом неотсортированного массива из 1000 элементов Сортировка Шелла быстрее чем Быстрая сортировка Почему не работает сортировка массива в обратном порядке? |
Вездепух
![]() ![]() 10420 / 5692 / 1550
Регистрация: 18.10.2014
Сообщений: 14,018
|
|
11.04.2020, 06:07 | 2 |
![]() Решение
"Тормозит" именно первый вызов вашей функции. Особенно динамическое выделение памяти через
new[] . Поменяйте местами свои эксперименты и снова первый вызов будет требовать больше времени. На ваших входных данных это оказывает существенное значение. По этой причине не принято замерять время первых прогонов.Замерьте вторые прогоны - и соотношение времен станет ожидаемым. (Даже если устранить или "вынести за скобки" динамическое выделение памяти, эффект все равно сохранится, хоть и в существенно меньшей мере. Также может быть дело в начальной настройке каких-то процессорных механизмов: кэша памяти, предсказателя переходов и т.п. ) P.S. Ваша программа в общем случае не компилируема. std::chrono::high_resolution_clock::now() не обязан возвращать std::chrono::time_point<std::chrono::steady_clock> . Почему у вас пометки времени не объявлены просто как std::chrono::time_point<std::chrono::high_resolution_clock> . Откуда внезапно взялся steady_clock ?
1
|
11.04.2020, 06:07 | |
Помогаю со студенческими работами здесь
2
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |