Две техники разные. См. Описания Развертывание петли и Черепица петли .
Развертывание цикла выполняется, чтобы исключить издержки зацикливания. Это (обычно) полезно только для довольно маленьких циклов, где число итераций мало и известно во время компиляции. В основном это делается компилятором.
В старые времена, когда компьютеры работали медленнее, а компиляторы были более примитивными, программисты выполняли ручное развертывание циклов, но теперь программисту было бы необычно это делать - за исключением, возможно, очень ограниченной встроенной системы.
Чередование циклов обычно выполняется с очень большими наборами данных. Цель состоит в том, чтобы: загрузить некоторые данные в кэш-память и выполнить все операции с ней перед поиском новых данных.
В зависимости от выполняемых операций и внутренней организации данных, простой цикл может перемещаться по разным страницам данных, вызывая много пропусков кэша (и загрузок страниц). Тщательное планирование порядка выполнения может значительно улучшить время выполнения для определенных задач.
Хотя вполне вероятно, что компилятор может выполнять разбиение циклов, бывают случаи, когда программист может делать это вручную и, возможно, выполнять работу лучше, чем компилятор.
В общем, не пытайтесь выполнять эти типы оптимизации, так как они добавляют большую сложность (и ошибки) коду и обычно обеспечивают лишь незначительное повышение производительности. Однако, если ваш код работает медленно и профилирование указывает на определенные типы узких мест, то следует рассмотреть что-то вроде разбиения цикла и это может привести к значительному увеличению производительности.