Техника оптимизации под линуха

       

Замена циклов с предусловием на циклы с пост-условием


Циклы с предусловием (for, while) содержат по меньшей мере на одно ветвление больше, чем аналогичные им циклы с постусловием. Как нетрудно сообразить— в конце цикла с предусловием находится безусловный переход, возвращающий управление в начало, а в цикле с постусловием передача управления по "совместительству" еще выполняет и проверку условия.

Все три рассматриваемых компилятора всегда заменяют циклы с предусловиям на циклы с постусловием, когда это выгодно.

* msvc:  заменяет циклы с предусловием на циклы с постусловием

* icl:       заменяет циклы с предусловием на циклы с постусловием

* gcc:     заменяет циклы с предусловием на циклы с постусловием



Содержание раздела