Безопасность и оптимизация Linux.Редакция для Red Hat


Файл “/etc/profile”. - часть 3



вынуждает копировать постоянные адреса памяти в регистры перед выполением арифметических операций над ними. В результате может создаваться более хороший код, так же как и при -fforce-mem.

-fomit-frame-pointer


Не сохранять указатель на кадр (frame pointer) в регистре для функций, которые не нуждаются в этом. Это позволяет избежать инструкций на сохранение, определение и восстановление указателя на кадр (frame pointer); в то же время освобождая регистры для других функций. Это делает невозможным отладку на большинстве машин.

Замечание. Все возможности оптимизации, которые описаны в этой книге относятся к семейству процессоров Pentium II/III. Так, что вы должны при необходимости изменить флаги компиляции под ваш тип процессора.
Результаты тестирования быстродействия, суммирование по архитектурам.

В зависимости от типа вашего процессора и версии компилятора (gcc/egcs) опции оптимизации могут отличаться. Графики приведенные ниже помогут вам выбрать лучшие для вас флаги компиляции.

Версия компилятора установленного в Red Hat 6.1 и 6.2 - egcs 2.91.66. Но перед выбором опций оптимизации обязательно проверьте его версию, используя команду:
egcs –version

Все результаты тестирования могут быть получены с домашней страницы GCC, находящейся по адресу .

Сейчас приведем пример:

Для CPU Pentium II/III (i686) и компилятора egcs-2.91.66 лучшими опциями оптимизации будут:
CFLAGS=’-O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro -march=pentiumpro -fomit-frame-pointer -fno-exceptions’

Для CPU pentium (i586) с компилятором egcs-2.91.66 лучшими опциями оптимизации будут:
CFLAGS=’-O3 -march=pentium -mcpu=pentium -ffast-math -funroll-loops -fomit-frame-pointer -fforce-mem -fforce-addr -malign-double -fno-exceptions’

Для CPU i486 с компилятором egcs-2.91.66 лучшими опциями оптимизации будут:
CFLAGS=’-O3 -funroll-all-loops -malign-double -mcpu=i486 -march=i486 -fomit-frame-pointer -fno-exceptions’




Начало  Назад  Вперед



Книжный магазин