LINUX.ORG.RU

Посоветуйте CFLAGS


0

1

Посоветуйте CFLAGS для максимальной производительности.

Системная инфа: /proc/cpuinfo

processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 15
model name	: Intel(R) Core(TM)2 CPU         T5500  @ 1.66GHz
stepping	: 6
cpu MHz		: 1662.713
cache size	: 2048 KB
physical id	: 0
siblings	: 2
core id		: 0
cpu cores	: 2
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 10
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm lahf_lm dts
bogomips	: 3325.42
clflush size	: 64
cache_alignment	: 64
address sizes	: 36 bits physical, 48 bits virtual
power management:

processor	: 1
vendor_id	: GenuineIntel
cpu family	: 6
model		: 15
model name	: Intel(R) Core(TM)2 CPU         T5500  @ 1.66GHz
stepping	: 6
cpu MHz		: 1662.713
cache size	: 2048 KB
physical id	: 0
siblings	: 2
core id		: 1
cpu cores	: 2
apicid		: 1
initial apicid	: 1
fpu		: yes
fpu_exception	: yes
cpuid level	: 10
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm lahf_lm dts
bogomips	: 3325.21
clflush size	: 64
cache_alignment	: 64
address sizes	: 36 bits physical, 48 bits virtual
power management:
uname -a
Linux kasthack-laptop 2.6.37-gentoo-kasthack #1 SMP PREEMPT Fri Jan 28 21:29:04 Local time zone must be set-- x86_64 Intel(R) Core(TM)2 CPU T5500 @ 1.66GHz GenuineIntel GNU/Linux
Текущие CFLAGS="-mtune=native -march=native -O3 -pipe -mmmx -msse -msse2 -msse3 -mssse3"

gcc

Используются внутренние спецификации.
Целевая архитектура: x86_64-pc-linux-gnu
Параметры конфигурации: /var/tmp/portage/sys-devel/gcc-4.4.4-r2/work/gcc-4.4.4/configure --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/4.4.4 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.4/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.4.4 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.4.4/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.4.4/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.4/include/g++-v4 --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --disable-altivec --disable-fixed-point --without-ppl --without-cloog --enable-nls --without-included-gettext --with-system-zlib --disable-werror --enable-secureplt --enable-multilib --enable-libmudflap --disable-libssp --enable-libgomp --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/4.4.4/python --enable-checking=release --disable-libgcj --enable-languages=c,c++,fortran --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --with-bugurl=http://bugs.gentoo.org/ --with-pkgversion='Gentoo 4.4.4-r2 p1.2, pie-0.4.5'
Модель многопоточности: posix
gcc версия 4.4.4 (Gentoo 4.4.4-r2 p1.2, pie-0.4.5) 

Deleted

Ответ на: комментарий от krakatau

Все эти маны читал, но у меня и так уже данные флаги стоят.

На бенчмарках разнообразные -ffast-math'ы дают прирост до 20%, но рабочий софт с ними собирать как-то страшно

Deleted ()
Ответ на: комментарий от Reset

После последней пересборки ноутбука у меня 7 лишних болтов осталось. не думаю, что это хорошая идея)

Deleted ()
Ответ на: комментарий от Reset

не только. меня интересует именно оптимизация под конкретный пк

Deleted ()
Ответ на: комментарий от anon_666

реально забанили. сижу через публичную проксю=>2 капчи на каждый запрос

Deleted ()
Ответ на: комментарий от Deleted

Смотри, чтоб это Сильвия не увидела.

Deleted ()
Ответ на: комментарий от Deleted

Бенчмарки тестируют флопсы ЦеПе, а не его производительность при работе в конкретной DE. Ты же не считаешь круглыми сутками число pi до хреллионного знака после запятой? Ты смотришь ЦеПе японские мультики для девочек.

Deleted ()
Ответ на: комментарий от Deleted

на японские мультики для девочек и бинарного пакета хватит. хочется на php/моне/яве/питоне/etc побыстрее работать

Deleted ()
Ответ на: комментарий от Deleted

да и сервер времена притормаживает

Deleted ()

>-O3
расстрелять!

-mmmx -msse -msse2 -msse3 -mssse3

можно обойтись последним
и без -mfpmath=* и/или -ftree-vectorize бесполезны

-mtune=native -march=native

достаточно последнего
и да - если планируешь distcc - плохой вариант

megabaks ★★★★ ()
Ответ на: комментарий от Deleted

>не думаю, что "-march=native -O2" ускорит работу
по сравнению с твоими - запросто

megabaks ★★★★ ()
Ответ на: комментарий от megabaks

но некоторый софт с этим не соберётся - не советую для питонов так же
для хромиума например нужно убрать -mfpmath=*
9-я ветка с ним точно не собирается

megabaks ★★★★ ()
Ответ на: комментарий от megabaks

бенч вообще собираться отказался

./sysinfo.sh x86_64-pc-linux-gnu-gcc  -DLINUX  -O3 -pipe -mfpmath=* -mssse3 -march=native -ftree-vectorize
pointer.c:1: ошибка: bad value (*) for -mfpmath= switch
make: *** [pointer] Ошибка 1
make: *** Ожидание завершения заданий...
emake failed

Deleted ()
Ответ на: комментарий от megabaks

странно - флаги не менял с момента начала поддержки гцц опции march=native : CFLAGS="-O2 -march=native -pipe -fomit-frame-pointer -mfpmath=sse -mmmx -msse4.1", ниразу не сталкивался с проблемой сборки chromium...сейчас ради прикола попробую с 10 на 9 стабильную ветку назад слезть

anonymous ()
Ответ на: комментарий от Deleted

> хочется на php/моне/яве/питоне/etc побыстрее работать
vi @ emacs

Deleted ()
Ответ на: комментарий от Deleted

зачем тебе -O3 ?
ты понимаешь что в дохера% случаев оно только регрессии даёт?

megabaks ★★★★ ()
Ответ на: комментарий от Deleted

смотря на чём - далеко не всё с ним соберётся или будет работать нормально, если вообще будет работать
ну из bzip2 выжал 18%

megabaks ★★★★ ()
Ответ на: комментарий от megabaks

в генту-вики как раз был ман по частичному внедрению - только для поддерживаемого софта

Deleted ()
CFLAGS="-march=core2 -O2 -pipe -mfpmath=sse -msse4.1 -funroll-loops -fno-align-functions -fno-align-labels -fexcess-precision=fast -ffast-math -Wno-all"

для кодеков, архиваторов, баз данных можно так:

CFLAGS="-march=core2 -O3 -pipe -mfpmath=sse -msse4.1 -floop-interchange -floop-strip-mine -floop-block -ftree-loop-distribution -ftree-vectorize -fgraphite-identity -funroll-loops -fno-align-functions -fno-align-labels -fexcess-precision=fast -ffast-math -Wno-all"
icecat ()

-O2 -march=native

ВСЁ. Все остальные флаги могут 1) вызывать крах 2) не иметь никакого эффекта 3) замедлять работу

// b.

anonymous ()
Ответ на: комментарий от anonymous

может ещё и i386 для «надежности» выбрать

Deleted ()

пока сделал вот так

 CFLAGS="-O3 -pipe -mfpmath=sse -mmmx -mssse3 -march=native" 
P.S. -mmmx по дефолту выключен в -mfpmath=sse

Deleted ()
Ответ на: комментарий от icecat

толку от глобального О3 никакого, совсем наоборот - увеличится размер бинарников, и в большинстве случаев ухудшится скорость

тем более, что О3 без графита смысла не имеет

icecat ()
Ответ на: комментарий от icecat

> толку от глобального О3 никакого, совсем наоборот - увеличится размер бинарников,
Увеличится по сравнению с чем, вы имели ввиду?

Deleted ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.