> Взаимоисключающие параграфы На первый взгляд - да. Но на самом деле человек может сильно уделать компилятор локально, но глобально он проигрывает если кода много, просто не осилив уместить мег кода в свою голову и полностью проанализировать все возможности оптимизации.
Упомянутый подход позволяет сочетать лучшее из обоих подходов. Возможность оного основана на том что можно немного пожертвовать оптимальностью в не сильно горячих местах в пользу оптимальности горячих мест по максимуму. Лишние 2 обращения в регистры в куске кода который выполняется раз в час никто не заметит. Час плюс-минус пол-микросекунды остается для человека часом. А вот лишние 2 обращения в регистры в добавок к всего 2 обращением которые были в цикле - посадят скорость тугого цикла в 2 раза. И человеки очень даже заметят если вместо часа который раньше выполнялся цикл вдруг станет 2 часа.