Ада-95. Компилятор GNAT

       

Оптимизация для специфического типа процессора


Для GCC версий 2.x существует две основные опции оптимизации, которые основаны на специфическом типе процессора. Это указано в

руководстве по GCC:



-mno-486  -  оптимизация для 80386.
-m486  -  оптимизация для 80486. Однако, такая программа сможет выполняться на процессоре 80386.

Следует заметить, что в настоящий момент для GCC версий 2.x, нет опций поддержки новых типов процессоров фирмы Intel (Pentium и более новые).

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

-mpentium  -  оптимизация для Pentium / Intel 586.
-mcpu=i686  -  оптимизация для Pentium II/ Intel 686.
-mcpu=k6  -  оптимизация для AMD K6.

Для GCC 2.8.1, который используется совместно с GNAT, рекомендуется следующая комбинация опций компилятора для получения разумного выигрыша в производительности при использовании процессора Pentium:

-m486 -malign-loops=2 -malign-jumps=2 -malign-functions=2 -fno-strength-reduce

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

Для получения более полной информации следует обратиться к gcc FAQ.

Рассмотрим совместное использование этих опций.

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

В процессе разработки программы, можно использовать утилиту gnatmake с опцией -O1.

Такая установка будет подавлять предупреждающие сообщения об использовании директив оптимизации в исходном тексте.

После завершения разработки, для выполнения заключительной сборки проекта, можно использовать следующую комбинацию опций для утилиты gnatmake:

-m486 -O3 -malign-loops=2 -malign-jumps=2 -malign-functions=2 -fno-strength-reduce -gnatp

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

Copyright (C) А.Гавва V-0.4w май 2004



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