Во-первых, вы уверены, что у вас есть проблемы с производительностью выполнения кода? Если нет, то вы говорите о том, чтобы сделать ваш код менее читаемым и доступным для записи без всякой причины.
Во-вторых, вы профилировали свою программу, чтобы увидеть, находится ли она там, где она займет значительное время? Люди очень плохо угадывают горячие точки в программах, и без профилирования вы, скорее всего, потратите время и усилия на то, чтобы поиграть с вещами, которые не имеют значения.
В-третьих, вы собираетесь проверить созданный ассемблерный код, чтобы увидеть, есть ли разница? Если вы используете оптимизирующий компилятор с включенной оптимизацией, он, скорее всего, даст то, что ему подходит. Если это не так, и у вас есть проблемы с производительностью, найдите лучший компьютер или включите больше оптимизаций.
В-четвертых, если есть разница, вы собираетесь протестировать оба способа, чтобы увидеть, что лучше? Как минимум на репрезентативной выборке систем, на которых будут работать ваши пользователи?
И, чтобы дать вам мой лучший ответ, который является более эффективным: это зависит. Если они на самом деле скомпилированы в другой код, развернутая версия может быть быстрее, потому что у нее нет накладных расходов цикла (которая включает условную ветвь), а свернутая версия может быть быстрее, потому что она короче и будет работать лучше в кеше инструкций. Обычная мудрость заключалась в том, чтобы развернуться, но однажды я ускорил длинную секцию, свернув казнь как можно плотнее.