Я запустил все три алгоритма на компьютере Pentium II 400 МГц
4. Я запустил все три алгоритма на компьютере Pentium II 400 МГц, зафиксировав значение n = 1 ООО ООО и меняя величину сдвига rotdist от 1 до 50. На графике приведено среднее время выполнения программ.
Алгоритм реверсирования работает с постоянной скоростью 58 не на элемент, по иногда его время работы подскакивает до 66 ис. Это происходит при сдвигах, рав- ных 4,12, 20 и так далее — последовательность чисел, дающих остаток 4 при делении на 8. Возможно, это связано с размером кэша, равным 32 байт. Алгоритм перестановки блоков является самым медленным для небольших сдвигов, вероятно, из-за затрат на вызов функции перестановки для одноэлементных блоков, по для сдвигов, больших 2, он оказывается самым быстрым, вероятно, из-за удобства кэширования. Алгоритм последовательного обмена является самым быстрым для малых сдвигов, но данные в этом алгоритме плохо кэшируются, поэтому время его работы возрастает почти до 200 не при сдвиге, равном 8. Для больших сдвигов время работы этого алгоритма колеблется около 190 ис с отдельными спадами (при п=1000 время спадает до 105 не, а затем снова возрастает до 190 не). В середине 80-х аналогичный код использовался для работы со страницами памяти (сдвиг устанавливался равным обмену страницы).
Опубликовал vovan666
April 17 2013 00:06:26 ·
0 Комментариев ·
4177 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.