В прошлую пятницу я объяснял джуну, почему его код на отсортированном массиве работает в шесть раз быстрее, чем на неотсортированном. Тот же массив, тот же алгоритм, и те же данные. Просто в другом порядке. Джун смотрел на меня как на сумасшедшего и, честно говоря, я его понимаю.
Потому что ответ звучит безумно: процессор внутри вашего ноутбука постоянно пытается предсказать будущее. Буквально. Он гадает, какая ветка if выполнится ещё до того, как условие будет вычислено. И на отсортированных данных ему угадывать проще.
Ну, давайте разбираться.



![Запуск I2S Трансивера на Artery [часть 2] (DMA, FSM, PipeLine) - 1 Запуск I2S Трансивера на Artery [часть 2] (DMA, FSM, PipeLine) - 1](https://www.pvsm.ru/images/2024/08/17/zapusk-I2S-transivera-na-Artery-chast-2-DMA-FSM-PipeLine.png)

