On Mon, 11 Feb 2019 12:18:58 +0100 (CET) Jan Engelhardt <jengelh@inai.de> wrote:
On Monday 2019-02-11 12:07, Michal Suchánek wrote:
Looking slightly more broadly if changing #!/bin/sh to something lighter lead to a 10-20% reduction in build times for some of our slower building packages, that is something that would interest my team and I guess should also interest the obs team and anyone who cares about our infrastructure usage.
Many packages that build slow spend a lot of time actually *compiling* stuff.
Yes and no. Build times follow the usual long-tail distribution (Pareto or something). Hugeass packages like chromium of course spent 99% their time in g++, while things like python-* are probably spending most of their time in /usr/bin/build and /usr/bin/rpm and disk IO. And we don't exactly have few packages in the {python, perl, ruby} camp, mind you.
Many packages that build slow spend a lot of time in rpm checkers.
But for different reasons. * The compression time scales linearly with the size of the contents. * absolute executable size roughly scales linearly with package size (something in the ballpark of 60% of a package are executables normally; ignoring noarch packages) * ELF analysis (dwz et al) scales linearly with executable size * the size of executable scales linearly with project size
Which is the reason things like chromium require exorbitant time and are very frustrating if it happens to fail at the last moment, while packages like cdecl are comparatively trivial - but have a high buildroot setup cost.
And you forgot to quote the important part: is the setup cost mitigated by shell scripts that use fast bare-bones shell and have to fork() for every tiny task or shell scripts that fully use bash builtins? Thanks Michal -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org