avatar
Хабр
@habr_com
23.03.2026 12:01
Почему отсортированный массив обрабатывается в шесть раз быстрее

Тот же алгоритм и те же данные. Разница лишь в порядке элементов, но время исполнения падает с одиннадцати секунд до двух. Всё дело в архитектуре конвейера процессора.

Наткнувшись на if, CPU не ждёт вычисления условия, а угадывает будущее. На отсортированных значениях предсказатель ветвлений ошибается один раз. На хаотичных — постоянно сбрасывает конвейер, сжигая до 20 тактов на каждый промах. Ради оптимизации горячие циклы надёжнее переводить на арифметику без ветвлений.

Заглянем под капот branch-предикторов от базовых счётчиков до TAGE.
👍 37
16
🔥 7
😁 4
2
144 19.1K

Обсуждение 0

Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.

Обсудить в Telegram

Хабр

129.4K
НЛО с вами!

№ 5197888779

Хабр Новости → https://t.me/habr_com_news
Хабр Карьера → https://t.me/habr_career
Реклама → adv@habr.team
Открыть в Telegram