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


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


Шаг 3.

Выйдете из системы и вновь в нее войдете, чтобы опции определенные переменной CFLAGS вступили в силу и все программы и другие “configure” утилиты стали ее учитывать. Оптимизация под Pentium (Pro/II/III) будет работать только с компиляторами egcs и pgcc. Egcc уже установлен на вашем сервере, поэтому об этом думать не надо.

Ниже приведено описание опций, которые мы использовали:

-funroll-loops


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

-funroll-all-loops


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

-ffast-math


Эта опция позволяет GCC нарушать некоторые ANSI или IEEE правила и/или спецификации в интересах оптимизации кода по скорости выполнения. Например, это позволяет компилятору предполагать, что параметры к функции sqrt - не-отрицательные числа и что значения не с плавающей запятой являются NaNs.

-malign-double


Контролирует, выравнивает ли GCC double, long double и long long переменные на двусловной границе или однословной границе. Выравнивание double переменных на двусловной границе создает код, который выполняется на “Pentium” процессорах несколько быстрее, расходуя больше памяти.

-mcpu=cpu_type


Определяет значание типа процессора при планировании используемых инструкций. При определении конкретного типа CPU, GCC будет использовать инструкции специфичные для него. Когда эта опция не определена, никогда не будут использоваться команды не работающие на i386 процессоре. "I586" эквивалентен "Pentium", "i686" эквивалентен "Pentium Pro". "K6" - AMD.

-march=cpu_type


Создает инструкции для CPU cpu_type. Выбор типов процессоров такой же как и для mcpu. Кроме того, использование `-march=cpu_type' подразумевает и `- mcpu=cpu_type'.

-fforce-mem


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

-fforce-addr




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



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