LINUX.ORG.RU

[gentoo] Непонятные опции


0

0

Вот строчка из сборки хромиума

i686-pc-linux-gnu-g++ -O2 -march=core2 -mtune=native -msse4.1 -mfpmath=sse -fpeel-loops -fvpt -ftree-vectorize -pipe -pthread -fno-exceptions -Wno-unused-parameter -Wno-missing-field-initializers -D_FILE_OFFSET_BITS=64 -fvisibility=hidden -m32 -mmmx -march=pentium4 -msse2 -mfpmath=sse -fno-strict-aliasing -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng14 -O2 -fno-ident -fdata-sections -ffunction-sections -fno-rtti -fno-threadsafe-statics -fvisibility-inlines-hidden '-DNO_TCMALLOC' '-DNO_HEAPCHECKER' '-DCHROMIUM_BUILD' '-DENABLE_REMOTING=1' '-DUSE_PROPRIETARY_CODECS' '-DNDEBUG' '-DNVALGRIND' '-DDYNAMIC_ANNOTATIONS_ENABLED=0' -I. -MMD -MF out/Release/.deps/out/Release/obj.target/ipc/ipc/file_descriptor_set_posix.o.d.raw -c -o out/Release/obj.target/ipc/ipc/file_descriptor_set_posix.o ipc/file_descriptor_set_posix.cc

Вот мой make.conf

CFLAGS="-O2 -march=core2 -mtune=native -msse4.1 -mfpmath=sse -fpeel-loops -fvpt -ftree-vectorize -pipe"
CXXFLAGS="${CFLAGS}"

Откуда взялся -march=pentium4 -msse2?

Специально пересобрал vim, та ничего такого. Это просто фишка chromium?

★★★★★

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

из ебыдла

src_prepare() {
	# Prevent automatic -march=pentium4 -msse2 enabling on x86, http://crbug.com/9007

megabaks ★★★★ ()
Ответ на: комментарий от megabaks
vertexua@vxcomp ~ $ sudo emerge -av chromium

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U ] www-client/chromium-6.0.472.22 [6.0.472.14] USE="cups gnome sse2" 0 kB

Total: 1 package (1 upgrade), Size of downloads: 0 kB
vertexua ★★★★★ ()
Ответ на: комментарий от megabaks

Да. Чего такого нет? Я думаю просто выключить этот флаг и глянуть. Главное чтобы они при этом ifdef не наставили внутри, которое всю оптимизацию полностью вырубает

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

Чего такого нет?

megabaks@desktop ~ $ grep pentium /usr/portage/www-client/chromium/chromium-5.0.375.125.ebuild 
	# Prevent automatic -march=pentium4 -msse2 enabling on x86, http://crbug.com/9007
megabaks@desktop ~ $ grep pentium /usr/portage/www-client/chromium/chromium-6.0.472.22.ebuild 
megabaks@desktop ~ $ 
megabaks ★★★★ ()
Ответ на: комментарий от vertexua

кстати - собрал 5-ку на ~x86 - чисто

>>> Source compiled.
>>> Test phase [not enabled]: www-client/chromium-5.0.375.125

>>> Install chromium-5.0.375.125 into /var/tmp/portage/www-client/chromium-5.0.375.125/image/ category www-client
 * Fallback PaX marking -m
 *      out/Release/chrome
 TYPE    PAX   FILE 
ET_EXEC --mxe- out/Release/chrome 
>>> Completed installing chromium-5.0.375.125 into /var/tmp/portage/www-client/chromium-5.0.375.125/image/

strip: i686-pc-linux-gnu-strip --strip-unneeded -R .comment
   usr/lib/chromium-browser/chrome
   usr/lib/chromium-browser/chrome_sandbox
ecompressdir: bzip2 -9 /usr/share/man
desktop megabaks # grep "pentium" /var/tmp/portage/www-client/chromium-5.0.375.125/temp/build.log 
desktop megabaks # 

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

это опции для (трехкомпонентной) сборки с обратной связью,
при обычной сборке ничего кроме вреда они вам не принесут

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

Хммм. Зря не разобрался. Теперь это вкомпилено во всю систему. Как она еще умудряется так быстро работать. Есть нестрашный способ все пересобрать?

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

Без флага никаких пентиувом. Я только не уверен за ifdef в коде

vertexua ★★★★★ ()

по теме - оптимизация под pentium4 достаточно неплоха на core2
я бы так и оставила, у меня на ноуте p4, поэтому я для него и собираю пакеты на binhost, это все равно лучше чем archlinux и уж тем более лучше чем остальные дистрибутивные оптимизации

особенность конвеера и Pentium IV оптимизации под него показывают неплохой результат на core2 за счет хорошей статистики использования кеша и утилизации macrofusion , я делала тесты, все вообщем-то весьма неплохо

я бы так и оставила -march=pentium4 -msse2

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

на сообщение выше написано )
march=core2 не намного быстрее, в пределах погрешности

остальные - медленнее

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

проверять не на всей системе, а на отдельных пакетах, которые (по-вашему) критичны к производительности , и по ним уже оценивать,
остальное же собирать с безопасными опциями -O2 -march= (-fomit-frame-pointer) -msse*

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

по секрету скажу что gstreamer это всего-лишь обертка над соответствующими media-libs ( x264 xvid smpeg theora vorbis libmad... )
так что пересборка самого gst и его плагинов не дает н и ч е г о )

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

Ни для кого не секрет, что gstreamer это всего-лишь обертка над соответствующими media-libs ( x264 xvid smpeg theora vorbis libmad... )

// fixed

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

я бы не стала, слишком много пересобирать, тем более в жару

производительность все равно сильно не должна была пострадать, ну и .... может эти флаги при отсутствии статистики профилирования просто игнорируются, если точнее, то при отсутствии статистики берется «пустышка», не влияющая на производительность (в минус), правда и сами по себе эти флажки использоваться не должны, даже в случае сборки с FDO есть общий ключ -fprofile-use

хотя стоит все-таки найти те рекомендации из которых это было почерпнуто, может люди тестировали и нашли что-то интересное (для конкретной версии gcc на конкретной машине), может через acovea


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

>я бы не стала, слишком много пересобирать, тем более в жару
ну он спросил я ответил
а жара...мне лично всё равно - компилял в овер 30 - даже кулерам обороты не стал поднимать - огромный пассив рулит :)

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

впрочем можно пересобрать только те пакеты, которые собраны с флагами не из текущего make.conf...но в его случае это одно и то же, что и мир перебрать

megabaks ★★★★ ()

Подскажи, пожалуйста, какая у тебя конфигурация и сколько по времени у тебя хромиум собирается? Я уже три раза пытался собрать его на нетбуке, ставил на ночь, моего терпения хватало на 4-5 часов, потом прерывал компиляцию :) Всё-таки интересно, на какое время примерно можно рассчитывать.

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

>пытался собрать его на нетбуке
порвало )
для таких дел есть distcc или binhost - собирать силами одного нет/ноутбука - ССЗБ и мажорство

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

> для таких дел есть distcc или binhost - собирать силами одного нет/ноутбука - ССЗБ и мажорство

Был бы десктоп рядом, собрал бы на нём. Но доступ к нормальному компу будет еще не скоро. Поэтому, пока не решился собрать по-человечески, использую chromium-bin, так почему же ССЗБ и мажор? Я не считаю свой ноут настолько шлачным, чтобы пользоваться в нём только браузером и im :)

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

почему ССЗБ? потому что долго - мазохистичненько - да
почему мажорство? - потому что там не пасту суют, а какоет-то неведомое гавно типа жевачки ---> перегрев на раз
думай :)

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

Ноут у меня 2й год, гента на нём стоит около года. За это время он столько компиляций пережил, на протяжении полугода держал сквид, dc/irc серваки, показывал мне через внешний моник 780p аниме, развлекал меня игрушками в NWN и WC3. Судя по smartctl, он уже наработал 183 дня. Так что нечего его жалеть, еще столько же отработает :)

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

У меня www-client/chromium-bin-6.0.470.0_p52843 ~x86. Версия нестабильная, пользоваться проблематично. Частенько течет, для 512 мб оперативки на ноуте это существенно. Еще наблюдается стабильный вылет при выборе картинки для предпросмотра в окне открыть/сохранить, поэтому я и хочу собрать стабильную 5.0.375.125, посмотреть

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

дело не в стабильности!
дело в том что хром уж очень чувствителен к опциям сборки - собраный для корки на атоме ничего не может открыть - собраный же под атом на этом же атоме без проблем работает
я уже писал :)

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