Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы ГОС ПрИЭ / Т4. Inform_i_progr_otvety.docx
Скачиваний:
27
Добавлен:
13.05.2015
Размер:
81.35 Кб
Скачать

Оптимизация циклов

Анализ индуктивных переменных

если переменная в цикле является результатом простой линейной функции от индуктивной переменной, например for (i=0; i < 10; ++i) j = 17 * i;, то можно соответствующим образом обновлять данную переменную на каждой итерации. Это называется понижение силы операций.

Деление цикла на части

Оптимизация пытается разделить цикл на несколько отдельных с тем же диапазоном индекса. Каждый новый цикл является частью тела исходного цикла. Это может улучшить локальность ссылок.

Объединение циклов (Слияние циклов)

Другой метод, который пытается уменьшить накладные расходы цикла. Если два соседних цикла повторяются одно и то же число раз, то их тела могут быть объединены до тех пор, пока они не взаимодействуют друг с другом.

Инверсия цикла

Этот метод меняет стандартный while цикл на do/while цикл, поставленный под некоторое условие, что уменьшает количество переходов на два, для случаев, когда цикл выполняется.

Расщепление цикла

Оптимизация пытается упростить цикл или устранить зависимости в цикле, разбив его на несколько частей, имеющих одно и тоже тело исходного цикла и различные диапазоны счетчика.

Соседние файлы в папке Ответы ГОС ПрИЭ