Да. Можно. Быстрый переход к последнему варианту ключей для компиляции на процессорах atom
Выяснилось, что ранее не сильно оптимизирующие ключи в gcc 4.4.5 намного лучше доработаны в gcc 4.5.3.
Делюсь своими настройками, выполненными на второй рабочей системе с Gentoo, на Calculate все будет работать аналогично. Для достижения такой производительности Вам потребуется использование gcc 4.5.3.
В /etc/make.conf прописываем следующие переменные для компиляции программ с помощью emerge:
CFLAGS="-O3 -march=native -mtune=native -fomit-frame-pointer -pipe --param l1-cache-line-size=64 --param l1-cache-size=24 --param l2-cache-size=512 -mmmx -msse -msse2 -msse3 -mssse3 -ffast-math -mfpmath=both -fexcess-precision=fast -fmerge-all-constants -fno-gcse -funroll-all-loops -g0 -Wno-all"
CXXFLAGS="${CFLAGS}"
Для компиляции ускоренного ядра linux находим переменные CFLAGS_MODULE и CFLAGS_KERNEL в файле /usr/src/linux/Makefile и добавляем следующие ключи:
CFLAGS_MODULE = -O2 -march=native -mtune=native --param l1-cache-line-size=64 --param l1-cache-size=24 --param l2-cache-size=512 -fmerge-all-constants -finline-functions -funswitch-loops -fpredictive-commoning -fgcse-after-reload -fipa-cp-clone -fno-gcse
CFLAGS_KERNEL = -O2 -march=native -mtune=native --param l1-cache-line-size=64 --param l1-cache-size=24 --param l2-cache-size=512 -fmerge-all-constants -finline-functions -funswitch-loops -fpredictive-commoning -fgcse-after-reload -fipa-cp-clone -fno-gcse
Корректируем USE флаги, касающиеся процессора atom:
USE="-3dnow -3dnowext -altivec -ibm -mmxext -sse4 -sse4a -sse4_1 -sse5 mmx smp sse sse2 sse3 ssse3"
Размаскировываем gcc версии 4.5.3. Устанавливаем.
Проверяем какой компилятор у нас используется:
root # gcc-config -l
[1] i686-pc-linux-gnu-4.4.5 *
[2] i686-pc-linux-gnu-4.5.3
Переключаемся на новый компилятор в случае необходимости:
root # gcc-config 2
Снова проверяем:
root # gcc-config -l
[1] i686-pc-linux-gnu-4.4.5
[2] i686-pc-linux-gnu-4.5.3 *
Обновляем окружение:
root # env-update && source /etc/profile
Пересобираем ядро и мир. Результат будет. См. тест в программе nbench.
Все пакеты и ядро, собранные мною с этими параметрами работают без сбоев.
Примечание:
Некоторые версии chromium могут не собираться с ключом ffast-math из-за использования встроенного sqlite3 (для компиляции свежих версий пока можно отключать этот параметр, так как нет eduild учитывающего этот нюанс). Исключения составляют четыре пакета: sys-devel/dev86-0.16.17-r6, kde-base/kdelibs-4.7.0-r1, dev-db/sqlite-3.7.7.1 и как я говорил некоторые версии chromium. На эти четыре пакета нужны менее экстремальные ключи. Дополнительно выяснилось при обновлении kde 4.7.1 и 4.7.2 можно собрать только без ключа -ffast-math. Еще одно уточнение: в связи с обновлением библиотеки libpng15 до версии 1.5.5 с ключем -funroll-all-loops не собирается media-gfx/imagemagick.
Для сравнения какие результаты выдавал nbench ранее можно посмотреть в этом топике
P.S.
В данной статье затронута только часть оптимизации, касающаяся семейства процессоров atom. Для полной оптимизации потребуется учесть еще много нюансов. Еще один главный кандидат на оптимизацию это Ваша видеокарта. В случае использование KDE оболочки, ее тоже необходимо оптимизировать. Для оптимизации KDE используйте USE флаг raster и установите oxygen-gtk. В этом случае все будет работать так же шустро как и в других оболочках. Но это отдельные и достаточно объемные темы для разговора.
Большая просьба - при вопросах указывайте, пожалуйста, модель Вашего компьютера.