[РЕШЕНО] Сжатие пакетов на всех ядрах

Использую дефолтный makepkg.conf - имхо, все это ерунда - как то давно игрался с опциями, но особой разницы не заметил ... проверял даже при сборке ядра
Ошибки не исчезают с опытом - они просто умнеют
vasek
имхо, все это ерунда
Для меня не ерунда, когда сборка compiz идёт на восьми ядрах, а не на одном пол дня.
RusWolf
на восьми ядрах
согласен, на таком количестве будет заметно ... но не в 8 и даже, думаю, не в 4 раза.
А на моих 2-х ядрах пиши любые опции и сборка, например, ядра будет идти часа два в любом случае
Ошибки не исчезают с опытом - они просто умнеют
При сборке пакетов AUR операция на стареньком i7-920 (4 ядра, 8 потоков) происходит значительно быстрее, чем при установках по умолчанию. Время не замерял, но мне достаточно ощущения при сравнении двух вариантов последовательно. Результатом (разницей ожидания окончания установки) доволен.
vasek
на моих 2-х ядрах
На ноуте Core i3-2365M 1.4 GHz, разница очень заметна, на тех же двух ядрах.
Уточнение в части значения j - вообще то параметр j (от слова jobs) задает количество заданий, которые можно запустить паралельно. И это значение паралельных заданий которые можно задать на конкретном железе зависит от многих факторов, основные из которых
- объем доступной памяти
- объем памяти, используемый каждым заданием
- возможности обработки I/O (как говорят объем I/O)
Чтобы облегчить определение паралельных заданий, которые можно задать особо не вникая в это, на среднем железе рекомендуют делать привязку к количеству cores/threads, вообщем брать равным значению $(nproc) ... j = $(nproc) ... вообщем смотрим вывод echo $(nproc)
Например, в моем случае, core i3, мне без учета других факторов подойдет значение j=4 ( echo $(nproc) = 4 ) …. но мое железо это не осилит, а потому мне вполне хватает дефолтного значения j=2.
У кого железо тянет, можно спокойно брать и большие значения, например, j= $(nproc) + 1 или более … или даже j=($(nproc))*2
Вообщем все зависит от возможностей железа ...
Ошибки не исчезают с опытом - они просто умнеют
vasek
но мое железо это не осилит
Мой Core i3-2365M 1.4 GHz, с MAKEFLAGS="-j$(nproc)" прекрасно справляется в четыре потока.
RusWolf
сборка
распаковка
сборка как была native, так и осталась)
RusWolf
Мой Core i3-2365M 1.4 GHz, с MAKEFLAGS="-j$(nproc)" прекрасно справляется в четыре потока.
У меня тогда было всего 3G памяти (исправил 4 на 3), много экспериментировал и все никак не мог понять - почему не увеличивается производительность при измении значения j - время сборки ядра практически не меняется (что при j=2, что при j=3, что при j=4) ... стал разбираться и выяснил, что количество ядер не является основным критерием, влияющим на производительность в данном моем случае. Сейчас память увеличил, но большой сборкой больше не занимаюсь.
Привожу некоторые высказывания спецов на эту тему (те, что быстро нашел)
The real limit on build time however isn’t CPU capacity, it’s I/O capacity, but there’s no handy metric to determine that.
и еще одно
You may have some anecdotal experience where doing core-count + 1 results in faster compile times. This has more to do with factors like I/O delays, other resource delays and other availability of resource constraints.
и добавлю еще одно
Most builds are I/O-limited, not CPU-limited .... а поэтому количество паралельных заданий может быть как меньше nproc, так и больше
переводчик переводит не понятно, потому пришлось концовку писать свою ...

EDIT 1 - RusWolf, попробуй ради интереса постепенно увеличивать число j - даже интересно оценить возможности твоего железа.
... и напиши что за ноут, готовлюсь брать замену - собираю инфу.
Ошибки не исчезают с опытом - они просто умнеют
Morisson
сборка как была native, так и осталась)
Ты сейчас про что?!?

vasek
и напиши что за ноут, готовлюсь брать замену - собираю инфу.
Ноут 2011 года.
Acer Aspire V5-571G-323b4G50Makk
Процессор Core i3-2365M 1.4 GHz
Память 6 GB DDR3 SDRAM
Жесткий диск SSD 480 ГБ Serial ATA
Дисплей 15.6" 1366 x 768 (WXGA)

00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)
00:16.0 Communication controller: Intel Corporation 7 Series/C216 Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 7 Series/C216 Chipset Family USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 7 Series/C216 Chipset Family High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 7 Series/C216 Chipset Family PCI Express Root Port 1 (rev c4)
00:1c.2 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 3 (rev c4)
00:1c.3 PCI bridge: Intel Corporation 7 Series/C216 Chipset Family PCI Express Root Port 4 (rev c4)
00:1d.0 USB controller: Intel Corporation 7 Series/C216 Chipset Family USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation HM77 Express Chipset LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 7 Series Chipset Family 6-port SATA Controller [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 7 Series/C216 Chipset Family SMBus Controller (rev 04)
01:00.0 VGA compatible controller: NVIDIA Corporation GF108M [GeForce GT 630M] (rev a1)
03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTL8411 PCI Express Card Reader (rev 01)
03:00.2 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0a)
04:00.0 Network controller: Qualcomm Atheros AR9462 Wireless Network Adapter (rev 01

RusWolf
попробуй ради интереса постепенно увеличивать число j - даже интересно оценить возможности твоего железа.
пробовал, никакого улучшения, одинаково с MAKEFLAGS="-j$(nproc)"
 
Зарегистрироваться или войдите чтобы оставить сообщение.