emerge... Как быстрее...?

Хочу установить несколько пакетов.
Например:
opera kdebase kdenetwork mc kdeadmin

1.Команда в одной консоле:
emerge opera kdebase kdenetwork mc kdeadmin

или

2.Команда в первой консоле:
emerge opera
во второй:
emerge kdebase
в следующей:
emerge kdenetwork
в следующей:
emerge mc
в следующей:
emerge kdeadmin

Как быстрее, эффективнее?
Или никакой разницы?

List of things, we shouldn't do in gentoo...

По английски я

По английски я не понимаю...

Вообще...

Правильнее один со списком программ.

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

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

Не надо гнаться за скоростью... может быть паралельная работа бвух процессов и даст определенную выгоду... (на многопроцессорной машине) но лучше для этого использовать более правильные способы типа MAKEOPTS="-j2" (или -j4) кому что нравится...

Можно использовать distcc который существенно помогает ускориться (ну при наличии нескольких машин)...

Вот.

Спасибо все

Спасибо все понятно!

SMP System

На машине с несколькими процами лучше ставить что то типа этого
MAKEOPTS="-j3" это если два проца
Тогда скорость сборки оптимальная

_________________
Gentoo GNU/Linux 2.6.16 GCC 3.4.5 Dual Xeon

Почему 3, а не 2?

Почему 3, а не 2?

Ну так практика

Ну так практика показывает. Если выставить количество потоков на один больше числа процов то не будет возникать ситуации когда проц будет простаивать. Можно конечно потоков и больше ставить только это скорости не добавит тк тогда по несколько процессов gcc будет висеть на каждом проце.
ЗЫ При сборке некоторых программ эта опция специально отключается разроботчиками [openoffice например] потому что из за нее иогут возникнуть ошибки компиляции
_________________
Gentoo GNU/Linux 2.6.16 GCC 3.4.5 Dual Xeon

Выходит,

что на один процессор выгодно ставить -j2?

В какой то

В какой то степени да
Но тогда компиляция у тебя сожрёт все ресурсы системы
И нельзя например будет поиграть паралельно в unreal :-)
_________________
Gentoo GNU/Linux 2.6.16 GCC 3.4.5 Dual Xeon

Почему? я вот на

Почему? я вот на своем P4 2,8 выставлял -j5 (молодой был, гАрячий :)), ну не сказать, что прибавило производительности, но со своим делом справлялось :). Теперь-то я съехал на 3, разницы никакой :). Но определенно, на современных процах - не меньше -j2, иначе просто простой процессорного времени :)
_________________
Прежде чем задать вопрос, подумай, а не додумались до него раньше?
With Love from Siberia!

Re: Ну так практика

Alexxy написал(а):
ЗЫ При сборке некоторых программ эта опция специально отключается разроботчиками [openoffice например] потому что из за нее иогут возникнуть ошибки компиляции
_________________
Gentoo GNU/Linux 2.6.16 GCC 3.4.5 Dual Xeon

Странно. У меня четвертый пень с HT. Без -j2 компиляция OO 1.4 занимала ~9 часов. С -j2 шесть.

А мож я глюканул.

У меня эта

У меня эта опция не работала на старых версиях OO
На OO 2 она уже работает

2 winterheart
HT и smp вещи немного разные и прирост производительности у них тоже разный
У меня стоит в опциях -j5 но у меня два физических проца и каждый с HT
На одном проце с HT разница между -j5 и -j3 заметна не будет
Может даже оказаться что -j5 в этом случае окажется медленнее чем -j3
_________________
Gentoo GNU/Linux 2.6.16 GCC 3.4.5 Dual Xeon

И все таки мне

И все таки мне кажется что HT решает.

HT работает

HT работает немного медленнее чем smp
и у него есть небольшие ограничения
HT это разбиение одного ФИЗИЧЕСКОГО процессора на два логических имеющих один и тот же кеш
SMP тут у тебя уже ФИЗИЧЕСКИЕ процессоры являются полностью НЕЗАВИМЫМИ
у каждого свой кеш

Но тем не менее это вещь хорошая
_________________
Gentoo GNU/Linux 2.6.16 GCC 3.4.5 Dual Xeon

:-D Спасибо, но я

:-D Спасибо, но я знаю что такое HT и SMP.

Непонятно...

Не, можно конечно поставить -j9
но не факт что это получится быстрее чем -j2

На Celeron-M 1,5 с

На Celeron-M 1,5 с 512RAM, я использую "-j6", при условии, что кроме компиляции ничего на этой машине не нужно делать . И в большинстве случаев, это оправдано, а при сборке ядра (где много всякой мелочи) при помощи genkernel я вообще использую "--makeopts=-j12".

На самом деле, чем быстрее процессор и чем больше оперативки, тем больше можно запускать параллельных процессов.

лучше в одной.

лучше в одной. проблем меньше будет ;)
единственно что может помочь так это во второй консоли сначала запусти
emerge -f
чтобы скачка одновременно с компиляцией шла

вроде где-то

вроде где-то писалось, что цифра у ключика -j равна процессор + 1

Re: лучше в одной.

react написал(а):
чтобы скачка одновременно с компиляцией шла

в /etc/make.conf FEATURES="parallel-fetch"
при условии >=sys-apps/portage-2.1

Ежели гнаться

Ежели гнаться за скоростью сборки то надо обратить внимание на 2 пакета.
Один называется ccache а второй distcc. Первый кэширует скомпиленные модули чтоб по 10 раз одно и то же не собирать. Второй нужен в пингвинарии (каждому пингвину по distcc) и позволяет раскидать сборку по соседям. Вашь способ можно юзать с великой осторожностью по причине блокировки пакетов, но некоторое ускорение он все же дает. Как правило закачка проходит быстрей нежели сборка. Так что я иногда с одной консольки качаю, в то время как на второй собирается все в кучку.

К этим двумя

К этим двумя штукам прибавилась третья - confcache, кеширующая работу скрипта configure на этапе настройки. Правда, она требует portage-2.1 и пока что жестко маскирована. Но, как говорится, хочешь помочь себе? помоги и другим заодно :).
_________________
Прежде чем задать вопрос, подумай, а не додумались до него раньше?
From Siberia with Love!

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".