Re: Improving www/chromium build time on arm64
- In reply to: Nuno Teixeira : "Re: Improving www/chromium build time on arm64"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 30 May 2023 10:53:24 UTC
(...) (I've missed OPTIONS_EXCLUDE_aarch64=LTO so forgeting it.) Conlusion: Thats a big difference on compilation times: --- build of www/firefox | firefox-113.0.2_1,2 build time: 05:35:57 --- build of www/chromium | chromium-113.0.5672.126 build time: 56:59:23 --- But I'm enjoying the fast and smooth chrome run. Really nice. Nuno Teixeira <eduardo@freebsd.org> escreveu no dia terça, 30/05/2023 à(s) 11:07: > Hello Mark, > > Wrong poudriere.conf. Uploaded correct one. > > Summary: > --- > USE_TMPFS=no > PARALLEL_JOBS=1 > ALLOW_MAKE_JOBS=yes > MAX_EXECUTION_TIME=259200 > NOHANG_TIME=259200 > --- > > htop showed me 4<load<5 (around 4,70) with temperature at ~60/65 degrees > Celsius > > Mark Millard <marklmi@yahoo.com> escreveu no dia terça, 30/05/2023 à(s) > 10:47: > >> On May 30, 2023, at 01:39, Nuno Teixeira <eduardo@freebsd.org> wrote: >> >> > Hello Ronald and all! >> > >> > Finally I build it after 57 hours @ 2000MHz !!! >> >> So the prior "[88:53:28] Failed ports: www/chromium:build/timeout" >> was not with the overclocking? Other differences that could >> contribute to the time difference? >> >> MAX_EXECUTION_TIME=86400 (the default) only allows for 24 hours >> before it starts analyzing the log for failure information (while >> letting the build continue while that scanning is done). >> >> > Configs, photos and log at: >> https://people.freebsd.org/~eduardo/logs/chromium/ >> >> https://people.freebsd.org/~eduardo/logs/chromium/poudriere.conf >> shows no assignments to MAX_EXECUTION_TIME or NOHANG_TIME or >> other such (outside comments). In the comments are the default >> values, not increases. >> >> Similarly for PARALLEL_JOBS , PREPARE_PARALLEL_JOBS , ALLOW_MAKE_JOBS , >> and so on. (It is not clear what the load average behavior/ idle time >> behavior might have been.) >> >> The file does show explicit assignments to: ZPOOL, FREEBSD_HOST , >> RESOLV_CONF , BASEFS , USE_PORTLINT , USE_TMPFS , DISTFILES_CACHE , >> and PACKAGE_FETCH_URL . >> >> > I'm running it right now and it runs very smooth! >> > >> > Next step will be compiling with LTO to check compile time and do some >> comparisons on binary size and run performance. >> > >> > Should I bother with LTO? Will it add performance? >> > >> > Thanks all! >> > >> > >> > Ronald Klop <ronald-lists@klop.ws> escreveu no dia terça, 23/05/2023 >> à(s) 11:23: >> >>  >> >>> Van: Nuno Teixeira <eduardo@freebsd.org> >> >>> Datum: dinsdag, 23 mei 2023 09:48 >> >>> Aan: FreeBSD Mailing List <freebsd-ports@freebsd.org>, >> freebsd-arm@freebsd.org >> >>> Onderwerp: Re: Improving www/chromium build time on arm64 >> >>> (...) >> >>>  >> >>> But I also found that poudriere: >> >>> [88:53:28] Failed ports: www/chromium:build/timeout >> >>>  >> >>> So I will search how do I increase build time to avoid timeout: >> >>> --- >> >>> # This defines the max time (in seconds) that a command may run for a >> build >> >>> # before it is killed for taking too long. Default: 86400 >> >>> #MAX_EXECUTION_TIME=86400 >> >>> --- >> >>>  >> >>> I suspect it can be the cause of build failure because build >24h. >> >>>  >> >>> Nuno Teixeira <eduardo@freebsd.org> escreveu no dia terça, >> 23/05/2023 à (s) 08:31: >> >>> Hello all, >> >>>  >> >>> I'm running 13-STABLE on rpi4 8 and since firefox{-esr} is constantly >> tab crashing and seg faulting I decided to give chromium a try. >> >>> chromium pkg isn't available for arm64 and I didn't found error log >> at https://pkg-status.freebsd.org/ so I decided to build it on poudriere. >> >>>  >> >>> It fails to build around 70% but my biggest concern is build time: 27 >> hours for 70% compilation! >> >>>  >> >>> Just for comparison: >> >>> llvm15: 12h >> >>> rust: 9h >> >>> firefox: 6h >> >>>  >> >>> rip4 v1.5 8GB @ 2000Hz ~62 Celsius >> >>> zfs >> >>> poudriere: >> >>> USE_TMPFS=no >> >>> PARALLEL_JOBS=1 >> >>> ALLOW_MAKE_JOBS=yes >> >>>  >> >>> Any hints on how to speed build? ccache? >> >>> Does cflags "-O -pipe" not present in compilation is related to build >> time? >> >>>  >> >>> Full log: >> >>> >> https://people.freebsd.org/~eduardo/logs/chromium/chromium-113.0.5672.126.log >> >>>  >> >>> Thanks! >> >>>  >> >>> --- >> >>> <SNIP> >> >>> In file included from ../../base/check.h:11: >> >>> ../../base/compiler_specific.h:8:10: fatal error: >> 'build/build_config.h' file not found >> >>> #include "build/build_config.h" >> >>> ^~~~~~~~~~~~~~~~~~~~~~ >> >>> 1 error generated. >> >>> ninja: build stopped: subcommand failed. >> >>> ===> Compilation failed unexpectedly. >> >>> Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the >> failure to >> >>> the maintainer. >> >>> *** Error code 1 >> >>> >> >>> Stop. >> >>> make: stopped in /usr/ports/www/chromium >> >>> build of www/chromium | chromium-113.0.5672.126 ended at Tue May 23 >> 02:22:56 WEST 2023 >> >>> build time: 27:15:37 >> >>> !!! build failure encountered !!! >> >>> --- >> >>> -- Nuno Teixeira >> >>> FreeBSD Committer (ports) >> >>>  >> >>> -- Nuno Teixeira >> >>> FreeBSD Committer (ports) >> >>> >> >> >> >> Hi, >> >> >> >> My poudriere.conf for building ports on rpi4 contains these two >> changes: >> >> >> >> # This defines the max time (in seconds) that a command may run for a >> build >> >> # before it is killed for taking too long. Default: 86400 >> >> #MAX_EXECUTION_TIME=86400 >> >> MAX_EXECUTION_TIME=172800 >> >> >> >> # This defines the time (in seconds) before a command is considered to >> >> # be in a runaway state for having no output on stdout. Default: 7200 >> >> #NOHANG_TIME=7200 >> >> NOHANG_TIME=172800 >> >> >> >> >> >> I'm maintaining some mongodb ports which also take a long long time to >> build on rpi4. >> >> But I don't remember which of these settings has the preferred impact >> on your situation. >> >> >> >> Oh... now I'm reading your log better. It contains this: >> >> "=>> Killing timed out build after 86400 seconds" >> >> >> >> And some time later: >> >> "=>> Cleaning up wrkdir >> >> ===> Cleaning for chromium-113.0.5672.126" >> >> >> >> So the errors about missing files happen because poudriere is removing >> files while some processes of the build are still running. >> >> >> >> I'm curious how far it gets after you increase MAX_EXECUTION_TIME. >> > >> >> === >> Mark Millard >> marklmi at yahoo.com >> >> > > -- > Nuno Teixeira > FreeBSD Committer (ports) > -- Nuno Teixeira FreeBSD Committer (ports)