Размотка цикла: различия между версиями

[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
+ {{тупиковая статья}} при помощи AWB
убрана из тупиковых
Строка 1:
{{тупиковая статья}}
__NOTOC__
При '''loop unrolling''' ('''раскрутке циклов''') производится увеличение количества инструкций в итерации [[циклЦикл (программирование)|цикла]]а, что увеличивает количество инструкций, которые потенциально могут выполняться параллельно, а также позволяет интенсивнее использовать [[регистрРегистр процессора|регистры]]ы и [[Кеш|кэш]] данных.
 
== Пример ==
Строка 29 ⟶ 28 :
</source>
 
Подробно данный вид оптимизации рассмотрен, например, в Generalized Loop-Unrolling<ref>{{ref-en}} J. C. Huang, T. Leng, Generalized Loop-Unrolling: a Method for Program Speed-Up, 1998</ref>. Он (совместно с [[loop fission]]) при определённых условиях (отсутствии зависимостей по данным между инструкциями в новом цикле) позволяет выполнять цикл на нескольких [[Центральный процессор|процессорах]]ах.
 
== Недостатки ==