Я узнаю о предсказании ветвлений в C++
и есть довольно простой вопрос.
Кажется __builtin_expect
term указывает компилятору, какое предложение ставить первым в коде сборки.
Однако, если программист добавляет это вручную, чем это отличается от простого переключения если/еще пункты в C++
код?
Оптимизатору компилятора разрешено переупорядочивать ветки. __Builtin_expect полезен, если компилятор получает (или, вероятно,) ошибается.