LINUX.ORG.RU

Долгая сборка chromium в gentoo

 , , , ,


0

2

собственно, когда в ервый раз собирал - было так:



Thu Jun 6 06:40:55 2019 >>> www-client/chromium-74.0.3729.169
merge time: 1 day, 8 hours, 14 minutes and 53 seconds.


Решил подновиться.


woolf /usr/src/linux # genlop -c

Currently merging 22 out of 62

* www-client/chromium-76.0.3809.25

current merge time: 1 day, 12 hours, 31 minutes and 30 seconds.
ETA: any time now.



Собственно, в ccache старая сборка есть, лежит полностью, но на хроме это помогает только с минорными версиями. Слышал про jumbo-build, но жалуются, мол, 16 гиг оперативы для 4 потоков будет в притык - я же на машинке в это время работаю и память мне в общем нужна. Обсуждения, которые нагуглил - либо техническая ересь, либо какие-то мега-конфиги у людей. Собственно, кто его собирает - может, есть какие-то лайфхаки, до которых моя тупость не позволяет мне додуматься?
Так то оно меня не особо трогает, как бы в фоне и хрен с ним, я этого не замечаю, но вот эстетически меня такая долгая сборка несколько напрягает: либра собирается за 8 часов, лиса за 6.

Да, тачка - ноутбук на АМД A10-9600p, по современным реалиям оно скоростью не блещет, конечно, но для всего мне пока что хватает с головой.

★★

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


woolf /usr/src/linux # genlop -t qtwebengine
* dev-qt/qtwebengine

Mon Apr 29 01:53:10 2019 >>> dev-qt/qtwebengine-5.11.3
merge time: 6 hours, 17 minutes and 31 seconds.



Ну я б не сказал, что такая уж боль: на фоне хромого это как-то, гхм, ни о чем.

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

есть такие вот флаги: jumbo-build system-ffmpeg system-icu system-libvpx
И вот так как эксперименты ставить долго - хочу поинтересоваться мнением более опытных товарищей, сильно ли оно ускоряет сборочку этого гумна.

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

Это один из вариантов, но, блджад, опенсурс, все дела... Религия, в общем, не позволяет. Я, скорее, ungoogled-chromium начну собирать. Не, я не сильно против проприетарщины, но меня задалбывают анальные зонды, поэтому приходится хотя бы делать вид, что всё нормально, забивая чопик :D

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

Не, кэширование тут не поможет: там слишком уж сильно меняется всё. Тут интересуют флаги сборки. Я бы поверил в jumbo-build, но кути, итиху мать, собирают тот же blink несколько быстрее (раза так в 4), а флага этого у меня там не стоит.

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

Ну да, я в той теме в общем-то тебе про BAPM рассказывал. Но не догадался тебе посоветовать watch cpupower monitor в консольке написать и посмотреть. Нет, не оно: я старый АМДун :)

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

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

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


k10temp-pci-00c3
Adapter: PCI adapter
temp1: +62.9°C (high = +70.0°C)
(crit = +100.0°C, hyst = +99.0°C)

oolf /usr/src/linux # cpupower monitor
|Mperf || Idle_Stats
CPU | C0 | Cx | Freq || POLL | C1 | C2
0| 99,04| 0,96| 2673|| 0,00| 0,00| 0,00
1| 99,25| 0,75| 2673|| 0,00| 0,00| 0,00
2| 99,27| 0,73| 2674|| 0,00| 0,00| 0,00
3| 98,30| 1,70| 2672|| 0,00| 0,42| 0,59
woolf /usr/src/linux #

woolf /usr/src/linux # cpupower frequency-info
analyzing CPU 0:
driver: acpi-cpufreq
CPUs which run at the same hardware frequency: 0
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 4.0 us
hardware limits: 1.20 GHz - 2.40 GHz
available frequency steps: 2.40 GHz, 2.00 GHz, 1.50 GHz, 1.20 GHz
available cpufreq governors: ondemand performance schedutil
current policy: frequency should be within 1.20 GHz and 2.40 GHz.
The governor «ondemand» may decide which speed to use
within this range.
current CPU frequency: 2.40 GHz (asserted by call to hardware)
boost state support:
Supported: yes
Active: yes
Boost States: 3
Total States: 8
Pstate-Pb0: 3300MHz (boost state)
Pstate-Pb1: 2900MHz (boost state)
Pstate-Pb2: 2600MHz (boost state)
Pstate-P0: 2400MHz
Pstate-P1: 2000MHz
Pstate-P2: 1500MHz
Pstate-P3: 1200MHz
Pstate-P4: 800MHz
woolf /usr/src/linux #



Нет, тут, скорее дело в том, что я портаж пускаю с nice -n19 и гоняю ещё что-то параллельно, время от времени. Как бы тут вопрос тупо по флагам сборки.

Woolf ★★ ()

Слышал про jumbo-build, но жалуются, мол, 16 гиг оперативы для 4 потоков будет в притык

Не верь, это всё ЛПП. я собирал с jumbo-build на 8 гигах и работал параллельно с этим

system-ffmpeg system-icu system-libvpx

system-* конечно включай, иначе зачем тебе его собирать вообще?

А вообще, я эту проблему решил кардинально - перешёл на firefox, в том числе и потому что надоело по 12 часов хром собирать.

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

system-ffmpeg system-icu system-libvpx
сильно ли оно ускоряет сборочку

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

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

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

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

RedEyedMan4 ★★★★★ ()
Последнее исправление: RedEyedMan4 (всего исправлений: 1)
Ответ на: комментарий от RedEyedMan4

Ну ты ж знаешь, что для меня не большая проблема и distcc заюзать - серверы есть. Я просто думал, что может кто-то уже подскажет, насколько большая разница с jumbo и системными либами вместо включенного в поставку. Ну да пофиг, на днях сам пересоберу.

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

Ну да, посмотрел genlop -t и 3 минуты на пакет вообще ни о чем при общем времени компиляния этого мудачества. Но меня вот вообще вымораживает несколько другое: а чего бы ноду, к примеру, системную не брать?

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

Ну системные пакеты собираются по 3-6 минут, это вообще ни о чем. Я, наверное, займусь их прописыванием, но остался вопрос только про jumbo. Похоже, придётся пересобирать самому, разницу во времени, как я понимаю, особо никто не подскажет. (просто 3-4 часа выигрыша при таком времени сборки рояли вообще не играют, здесь надо так выигрыш раза в 3-4 получить).

Woolf ★★ ()

1. настроить индивидуальные конфиги для chromium: package.env

2. disable ccache для этого пакета через package.env

3. пример chromium.conf для package.env

EMERGE_JOBS=1
EMERGE_LD_AVG=3.95

MAKEOPTS_JOBS=2
MAKEOPTS_LD_AVG=3.95

EMERGE_DEFAULT_OPTS="--jobs ${EMERGE_JOBS} --load-average ${EMERGE_LD_AVG}"
MAKEOPTS="-j${MAKEOPTS_JOBS} -l${MAKEOPTS_LD_AVG}"

EXTRA_GN="jumbo_file_merge_limit=12"

anonymous ()

К счастью есть бинарные google-chrome и firefox-bin. Первый я использую иногда для просмотра фильмов на паре сервисов. Второй не использую, так как есть гораздо более удобная opera.

grem ★★★★★ ()

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

Если б оперативки было ну очень много (32 гб например), то 10 можно было выделить для tmpfs, что немного ускорило бы сборку, так как все промежуточные файлы хранились бы в памяти, на на диске.

grem ★★★★★ ()
Последнее исправление: grem (всего исправлений: 1)

Да, тачка - ноутбук на АМД A10-9600p, по современным реалиям оно скоростью не блещет, конечно, но для всего мне пока что хватает с головой.

В один поток оно собирается часа 3-4. Каким образом у тебя там 36 часов мне неведомо.

Слышал про jumbo-build, но жалуются, мол, 16 гиг оперативы для 4 потоков будет в притык

В один поток 3-4 часа. 16 не хватит для 4 поток. Оно жрёт только 16 где-то на 3. Ставь jumbo-build и 1 поток.

лиса за 6.

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

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

В один поток оно собирается часа 3-4. Каким образом у тебя там 36 часов мне неведомо.

Не путай старый ноутбучный процессор со свежим десктопным. У нас тут между RYZEN 1500x и моим проциком время сборки 2 часа vs 15 минут на одной и той же задаче, ЕМНИП (сборка ядра с федоровским дефолтным конфигом), ozz_is_here_again собирал у себя, может он помнит точнее.

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

К счастью есть бинарные google-chrome и firefox-bin. Первый я использую иногда для просмотра фильмов на паре сервисов.

А firefox-bin хуже что ли фильмы показывает?

anonymous ()