Инструкция ветвления не медленнее, чем любая другая инструкция.
Однако причина, по которой вы слышали, что ветвей следует избегать, заключается в том, что современные процессоры следуют конвейерной архитектуре . Это означает, что одновременно выполняется несколько последовательных инструкций. Но конвейер может быть полностью использован, только если он способен читать следующую инструкцию из памяти в каждом цикле, что, в свою очередь, означает, что ему необходимо знать , какую инструкцию прочитать.
В условной ветви обычно заранее не знают, какой путь будет выбран. Поэтому, когда это происходит, ЦП должен останавливаться до тех пор, пока решение не будет принято, и выбрасывает все в конвейере, который находится за инструкцией ветвления. Это снижает использование и, следовательно, производительность.
Это причина, по которой существуют такие вещи, как прогноз ветвления и интервалы задержки ветвления .