«Dual-Xeon» не является точной спецификацией целевых процессоров - «Xeon» - это скорее торговая марка, а не конкретная модель.«Xeon» даже не говорит вам, нацелены ли вы на архитектуру IA32 или x86-64.
Это важно, потому что оптимизация может быть значительно улучшена путем нацеливания на конкретное семейство ЦП.Существует множество опций , описанных в документации GCC ;в частности, начните с -march
, чтобы сгенерировать код для определенного набора команд.
Если вы не нацеливаетесь на x86-64, то используйте -mfpmath=sse
(если поддерживается вашим типом процессора), чтобы использовать инструкции SSE дляс плавающей точкой, а не 387 (эта опция используется по умолчанию на x86-64).Аналогично, -malign-double
может дать ускорение (но это только значение по умолчанию для x86-64).
Кроме того, если функции, которые вы используете в libmath
, отображаются в качестве горячей точки при профилировании, затем перекомпилируйте эту библиотекус более конкретными флагами оптимизации может быть полезным.