LINUX.ORG.RU

[netbook][gentoo]Сборка на другой машине

 ,


0

1

Привет ЛОР. Хочу запилить на нетбук генту собранную под Atom. Думаю что то вроде stage4. Тобишь собрать из чрута на большом компе и потом затарить и распаковать на нетбуке. GCC предполагаю 4.5.x Можно ли безпроблемно собрать в chroot или все же лучше создать отдельную систему и собрать все в ней? distcc не предлагать ибо в таком случае всю основную работу все равно проделывает нетбук.

★★★

Судя по обсуждениям, Intel Atom компилирует медленнее AMD Neo (только Atom'ы разные бывают: для нетбуков и для настольных компьютеров). Но зато при настройке ядра можно выбрать в качестве архитектуры Intel Atom! Мелочь, а приятно... AMD'шным процессорам остается только k8, хотя Neo это K10.

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

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

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

ну неон может и вкусный - только нетбук найти днём с огнём...и то только сейчас - а скажем почти год назад его и ни слухом не духом - потому без вариантов

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

>N для distcc надо выставлять побольше, чтобы прогружать удаленную машину , для Core2Duo это примерно -j16,
хм...вопрос - мой дистцц говорит что максимум возможный у меня на десктопе -j4
кому верить?
и если дистцц не врёт - зачем 16?
...если только нагрузить сеть, чтоб на ней затыка не было...хотя сомнительно

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

> -ftree-vectorize

Перестаньте это использовать.

man: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40838

Кроме этого, я лично проверял тучу программ и обычно этот флаг _замедляет_ выполнение и _увеличивает_ объём кода, что для atom вообще смертельно, из-за его мелкого кэша.

Вике тоже не стоит всегда верить - она всё время всучивает -fomit-framepointer - от которого больше вреда, чем пользы (во всех GCC >= 3.0).

// b.

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

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

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

Кроме этого, я лично проверял тучу программ и обычно этот флаг _замедляет_ выполнение и _увеличивает_ объём кода

То что увеличивает размер - согласен. А скорость выполнения каких конкретно программ замедляет? Про Атом скорее всего -ftree-vectorize перебор. Кэшей там мало.

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

прозреваю беду
-mfpmath - генерит для FPU, которое и есть для float-point
-ftree-vectorize - нет
если не прав - поправьте
отсюда косяки - проверь на gzip - в нём мало асма - потому с кодом можно творить что хочешь

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

-ftree-vectorize очент спорно влияет на утилизацию процессорного кеша, у меня результаты получались можно сказать противоположные чем у выше отписавшегося анонимуса (да, привет Артем! :) )

насчет выравнивания стэка, бага по ссылке висит для 4.4
с 4.5+ -mstackrealign используется по умолчанию, впрочем to be sure, его можно и вручную в флаги вписать,

-fomit-frame-pointer на 64 битах by default, читаем тему ) у тс 64 бита!
равно как и -mfpmath=sse

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

gzip - в нём мало асма
там asm i686 )

mfpmath - генерит для FPU, которое и есть для float-point


amd64 = -mfpmath=sse -msse2 уже включено

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

> насчет выравнивания стэка, бага по ссылке висит для 4.4

It affects _all_ >= 4.3 GCC versions (4.2.x is unaffected).

А насчёт -ftree-vectorize - покажите _реальные_ результаты. По крайней мере, в Wine/Windows benchmarks я получил 2-5% замедление.

// b.

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

есс-но лучше, тем более что -ftree-vectorize достаточно активно SSSE3 любит использовать.

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

atom / 64
-O2 -march=core2 -mtune=atom -mssse3 -mcx16 -msahf

усё, ну и --param для кешей
никаких векторайз, графитов и прочего, с этим плиз на быстрый десктоп, для отдельно выбранных пакетов.

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

wine вообще лучше собирать -O2 -march и ничего больше... стабильность решает, я бы тоже хотела увидеть чем оно плохо,
а так все останутся при своем субьективном мнении

Sylvia ★★★★★
()
Ответ на: комментарий от Sylvia
megabaks@desktop ~/fooui $ cat /var/db/pkg/app-emulation/wine-1.3.10/CFLAGS 
-O2 -march=core2 -fno-align-functions -fno-align-labels --param l2-cache-size=512 -fomit-frame-pointer -pipe -Wno-all
megabaks@desktop ~/fooui $ 

более чем стабильно

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

и то -mfpmath отключил из-за собственно тупости - оно не мешало как раз

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

вроде как должно быть уже включено на p4 и выше ? )

sylvia@evy ~ $ cat /etc/make.conf |grep CXXFLAGS
CXXFLAGS="-O2 -march=core2 -mtune=atom -fomit-frame-pointer -mfpmath=sse -mssse3 -mmmx -m32 --param l1-cache-size=24 --param l1-cache-line-size=64 --param l2-cache-size=512 --param ggc-min-heapsize=262144"
CFLAGS=«${CXXFLAGS} -pipe»
sylvia@evy ~ $ uname -p
Intel(R) Atom(TM) CPU 330 @ 1.60GHz


собственно вот, 32 бит

Sylvia ★★★★★
()

Кстати ребята, раз уж такая дискуссия поднялась не стану создавать отдельный тред.
Подскажите какие нибудь интересные флаги и параметры gcc для сборки мира для core i7 ?

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

отрубай выравнивание - последнее из sse для FPU

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

ну просто тестил на нескольких прогах - от выравнивания тока тормоза

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

нехалем

-msse4 (4.1 + 4.2)
-mpopcnt (хоть он и входит в sse4.2)
-mmovbe (как и на атоме)

вестмере
все что для нехалема +
-mpclmul
-maes ( само по себе ничего не даст, но разрешит использовать инструкции aes )

для процессора больше ничего такого не появилось

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

>-mmmx -m32
зачем?

не кусаются, у меня ядро 64 бита на атоме, так что -m32 для подстраховки, если i386 забуду перед эмержем запустить, -mmmx пусть будет :)


ggc-min-heapsize=262144


мне кажется что быстрее компилит, это размер сборщика мусора, эвристикой ставится в зависимости от обьема оперативной памяти, но не более (?) 128 Мб, я поставила 256

Sylvia ★★★★★
()

Одиннадцатый закон ЛОРа: любой тред, в котором будет упомянуты слова «Gentoo», «gcc», «sse» больше двух раз, гарантированно перерастёт в обсуждение флагов оптимизации с участием Silvy и megabaks -))

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

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

я повторюсь

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


рекомендуемый вариант -O2, или как разработчики прописали (в mplayer например), для гентушников еще особенности -march

а -f* лучше оставлять для экспериментов, если очень хочется, там однозначно положительного результата для всего-всего всё равно не будет, если будет , то это -O2 :)

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

Забавно, результаты bzip2 меня полностью опровергли (i686, intel core2):

for i in 1 2 3 4 5; do time ./bzip2 -9 -k doc.tar; /bin/rm doc.tar.bz2; done

CFLAGS=-march=native -O2

$CFLAGS:                                         24.165s (82740b)
$CFLAGS -ftree-vectorize:                        22.161s (84820b)
$CFLAGS -ftree-vectorize -fomit-frame-pointer:   21.405s (80916b)

чтобы ещё потестить? Тестовый архив и готовые bzip2 можно взять здесь.

// b.

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

> а -f* лучше оставлять для экспериментов

Подтверждаю и одобряю. Самое безопасное и надёжное: -O2 -march=i686 -mtune=native (или -mtune=atom лично для этой темы).

// b.

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

Зачем??

$CFLAGS -ftree-vectorize -fomit-frame-pointer -mfpmath=sse: 21.358s

Опция из разряда - дайте мне побольше, но за одни и те же деньги :)

// b.

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

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

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

для core2 можно так:

-msse4.1 -floop-interchange -floop-strip-mine -ftree-loop-distribution -floop-block
anonymous
()
Ответ на: комментарий от anonymous

Соответственно лучше в /etc/profile/env/ прописать флаги для отдельных пакетов, а остальную систему собирать без -f*

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

Хороший вариант.

ЗЫ я на Fedora, мне вообще такое счастье не светит - меня системные бинарники устраивают :)

// b.

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

И то правда. По мне так они все тормозные, и самый дорогой новый нетбук не будет быстрее самого дешёвого нового процессора для десктопа (мне встретился Athlon 4400+). Поэтому неважно какой процессор, лишь бы гигагерц был - и будет замечательно.

Дело в том что продаваемые Atom'ы комплектуются nVidia ION уровня GeForce 9500GT. А у меня Radeon HD 4200 и тормозная пенумбра с амнезией.

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