branch misprediction
EN: branch misprediction
Branch misprediction происходит, когда предсказатель ветвлений CPU угадывает неверный путь, заставляя конвейер сбросить все спекулятивно исполненные инструкции и загрузить правильный адрес. На современных процессорах с внеочередным исполнением штраф составляет порядка десятков тактов, снижая пропускную способность кода с непредсказуемыми условными ветвлениями. Сортировка данных, замена ветвлений арифметикой или использование branchless-паттернов снижают частоту misprediction-ов.