Код не будет запутанным, ибо между оператором и меткой всего лишь одна строка.
Вы можете забыть об этом.
google.com
Вид для печати
Это одна из микрооптимизаций, правда не факт, что она вообще имеет смысл. Сказал бы, почему именно, но объяснение будет тянуть на целую статью по скриптингу (нужно долго вникать по поводу того, когда и какие инструкции jump/j** генерирует компилятор).
Пока что ограничусь таким советом: если нужна производительность, лучше избегайте цикла for, для него компилятор почти во всех случаях ставит лишние инструкции перехода.
Правда, всё равно от таких микрооптимизаций ощутимый прирост скорости будет заметен только в синтетических тестах с циклами на миллионы итераций.
Шире нужно мыслить. Как уже сказал оратор выше, есть ситуации, в которых пригодится любая микрооптимизация. Например, я ими пользуюсь, когда пишу инклуды с перехватами функций - никогда не знаешь, как будут использовать перехваченные функции, поэтому лучше лишний раз перестраховаться, сделав так, чтобы перехватчик создавал как можно меньше дополнительной нагрузки.
Почти, только вместо x86 набор инструкций AMX, а изменить направление цикла или трансформировать его в while/do-while можно только вручную из-за примитивности компилятора.