LINUX.ORG.RU

Gentoo - жесткая оптимизация сборки. Как правильно и чему верить?


0

2

Уважаемый LOR.

В настоящее время очень больно стоит вопрос по оптимизации сборки пакетов. Целью является повышение производительности за счет жесткой узконаправленной оптимизации работы сервера для оцифровки видео-данных через ffmpeg, работы media-бокса xbmc на nvidia-ion и пр. Я читал и Megabaks, и статьи от Sylvia, работаю на ядрах от ZEN'a и поставил ICC . Но вопрос решен для меня не до конца. Из вышеуказанных ссылок подчерпнул много полезного. Как правильно оценивать выхлоп от оптимизации и есть ли он вообще, gcc-4.5.2 VS gcc-4.6.1 и пр. Уточню - у меня стоит вопрос о повышении производительности существующего железа а не покупки нового с повышенной производительностью (заявлениям производителей я ваще не верю - маркетинговые решения, замедление драйверов, и братья китайцы со своим особым взглядом на мир). Переход от бинарных дистрибутивов на gentoo с оптимизацией при сборке и тюннинг системы это подтвердил.

>через ffmpeg

Большая часть кода на ассемблере.

работы media-бокса xbmc на nvidia-ion


Блоб - Ъ.

у меня стоит вопрос о повышении производительности


Апгрейд сделай. Либо профайлер в зубы и вперед код переписывать.

заявлениям производителей я ваще не верю


ССЗБ

devl547 ★★★★★
()

> Как правильно оценивать выхлоп от оптимизации и есть ли он вообще

я правильно понял - на глаз оптимизация не заметна?

note173 ★★★★★
()

Переход от бинарных дистрибутивов на gentoo с оптимизацией при сборке и тюннинг системы это подтвердил.

вот тюнинг - подтвердил. А несчастного 5%-го прироста от недельного компиляния ты не заметишь.

leave ★★★★★
()

Только тестами типичных приложений для работы на конкретном компе и ничем иным. Время кодирования видео, и прочие в данном случае Вряд ли тест скорости работы апача в данном случае будет сильно показателен :-)

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

Есть более 10 камер, которые через ffmpeg обрабатывает zoneminder. Прикручен еще apache и php. после пересборки ffmpeg (он по дефолту собрался с флагами под amd а не под intel почемуто?! включив флаги 3dnow 3dnowext) - больному стало существенно легче. планирую снести apache и поставить lighttpd (на офисном компе смена httpd на lighttpd рагрузила систему). Поставил туда ICC, и пересобрал им все зависимости ffmpeg. Как-то заявленой Intel повышенной производительности для мультимедиа не наблюдаеся... может сам накосячил с флагами компиляции...

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

да, lighttpd было бы правильнее

icc можешь не ставить, достаточно gcc 4.6 + march=native

да и опиши схему того, что у тебя работает и что необходимо, тогда будет проще говорить

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

У разумных красноглазиков все давно уже в chroot собирается на 8 ядрах. В 2х-дневной пересборке openoffice замечен не был.

cybernet
() автор топика

-march=native -O2 -profile-generate/use

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

Ты думаешь профит >5%?что за архитектура?

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

ACCEPT_KEYWORDS=«~amd64»

CFLAGS="-O2 -march=core2 -mtune=core2 -fno-align-functions -fno-align-labels -mfpmath=sse -msse4.1 -finline-functions -fexcess-precision=fast --param l2-cache-size=2048 -fomit-frame-pointer -pipe"

CXXFLAGS=«${CFLAGS}»

ICCCFLAGS="-O3 -fomit-frame-pointer -xS -no-prec-div -unroll-aggressive -vec-guard-write -fp-math -ip -fno-builtin -w -malign-double -diag-disable warn -diag-disable caution -diag-disable remark"

ICCCXXFLAGS=«${ICCCFLAGS}»

камень: vendor_id   : GenuineIntel

model name   : Intel(R) Core(TM)2 Quad CPU Q9300 @ 2.50GHz

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 vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm dts tpr_shadow vnmi flex

gcc-4.6.0

cybernet
() автор топика
Ответ на: комментарий от leave

При первой сборке xbmc 720p только не тормозило. После перехода с gentoo-sources на zen-sources и включении флагов оптимизации при сборке стало без косяков проигрывать FullHD (на acer R3610 (atom n330 c ION) через HDMI.

cybernet
() автор топика
Ответ на: комментарий от Chaser_Andrey

там 4 гига, из которых ок. 1,5 отъедает zoneminder. По ходу есть место.

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

Я правильно понимаю, что «разумные» гентушники собирают все на 8 ядрах, чтобы это все не тормозило на 8 ядрах? Вы серьезно?

leave ★★★★★
()

> жесткая оптимизация сборки

Жениться вам надо, барин.

anonymous
()

еще можно jpeg заменить на libjpeg-turbo

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

А если прироста не заметишь, тогда можешь расшибиться лбом об авторов генту, реальная производительность текущего железа не взлетит в облако.

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

Ну а если серьезно, то учитывая большой парк серваков и декстопов, есть желание выработать набор флагов оптимизации под определенные задачи. общими усилиями их обсудить, протестировать и опубликовать. у меня был опыт общения с разрабочитками ivcvideo. из них сложно вытащить тонкости. пришлось с моими скудными знаниями с++ лезть в исходники и вычислять quirks :-(

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

> -param l2-cache-size=2048

Intel(R) Core(TM)2 Quad CPU Q9300

Либо ты читал Сильвию по диагонали, либо я чего-то не понимаю.

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

>-fno-align-functions -fno-align-labels
давали профит в 4.4
в 4.5 регресс
в 4.6 не помню

-finline-functions

толку ноль

-fomit-frame-pointer

x86_64 - зачем?

-mtune=core2

-mtune=generic

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