Расщепление тела цикла: различия между версиями
Перейти к навигации
Перейти к поиску
[отпатрулированная версия] | [отпатрулированная версия] |
Содержимое удалено Содержимое добавлено
KrBot (обсуждение | вклад) м + {{изолированная статья}} |
РобоСтася (обсуждение | вклад) untagged isolated. |
||
Строка 28: | Строка 28: | ||
* {{Книга:Muchnick|c=|ref = Muchnick}} |
* {{Книга:Muchnick|c=|ref = Muchnick}} |
||
* {{cite book | author=Kennedy, Ken; & Allen, Randy. | title=Optimizing Compilers for Modern Architectures: A Dependence-based Approach | publisher=Morgan Kaufmann | year=2001 | isbn=1-55860-286-0}} |
* {{cite book | author=Kennedy, Ken; & Allen, Randy. | title=Optimizing Compilers for Modern Architectures: A Dependence-based Approach | publisher=Morgan Kaufmann | year=2001 | isbn=1-55860-286-0}} |
||
{{изолированная статья}} |
|||
[[Категория:Оптимизации компилятора]] |
[[Категория:Оптимизации компилятора]] |
Версия от 03:44, 20 мая 2013
Расщепление тела цикла (англ. Loop fission) — оптимизация компилятора, которая разбивает цикл в программе на несколько циклов, каждый из которых имеет те же индексные границы, однако содержит только часть тела исходного цикла.
Например, следующий код:
int i, a[100], b[100];
for (i = 0; i < 100; i++) {
a[i] = 1;
b[i] = 2;
}
в результате применения оптимизации преобразовывается в:
int i, a[100], b[100];
for (i = 0; i < 100; i++) {
a[i] = 1;
}
for (i = 0; i < 100; i++) {
b[i] = 2;
}
Примечания
Литература
- Альфред Ахо, Моника Лам, Рави Сети, Джеффри Ульман. Компиляторы: принципы, технологии и инструментарий = Compilers: Principles, Techniques, and Tools. — 2-е издание. — М.: «Вильямс», 2008. — 1184 с. — 1500 экз. — ISBN 978-5-8459-1349-4.
- Steven S. Muchnick. Advanced Compiler Design and Implementation. — 5-е издание. — San Francisco: Morgan Kaufmann Publishers, 1997. — 856 с. — ISBN 1-55860-320-4.
- Kennedy, Ken; & Allen, Randy. Optimizing Compilers for Modern Architectures: A Dependence-based Approach. — Morgan Kaufmann, 2001. — ISBN 1-55860-286-0.