On Saturday, 6 January 2024 11:44:20 GMT Michael wrote: > On Wednesday, 29 November 2023 12:06:15 GMT Peter Humphreey wrote: > > On Wednesday, 29 November 2023 10:26:36 GMT Michael wrote: > > > Here's my hypothesis explaining your own observation with libreoffice. > > > As > > > a package or more finished emerging, libreoffice's turn comes up. Soon > > > libreoffice starts to execute make jobs, but any of the following may > > > apply: > > > > > > 1. There are only 4 out of 30 jobs available, because other packages are > > > already using 26, throughout your window of observation. > > > > Nope. Nothing else in progress. > > > > > 2. Libreoffice sequencing of make jobs is mostly linear with succeeding > > > make jobs waiting on output from their predecessors. > > > > That's possible, but it doesn't seem likely with such a huge code base. > > And > > why four processes, specifically and consistently? > > > > > 3. Libreoffice source code is not optimised for high parallelism - I > > > recall > > > when it was hardcoded at -j1 just a few years ago. Before this > > > restriction > > > was added, any bug reporters were advised to try again after limiting > > > make > > > to -j1. > > > > Yes, that was common to many packages for a long time because of > > incomplete > > optimisation. > > > > > Next time I'm building libreoffice on a beefier system I'll keep an eye > > > out > > > for the number of jobs to see what it gets up to. > > > > That would help, yes. > > OK, I eventually got around to it. I am observing right now LO is building > with as many as 24 jobs: > > top - 11:14:59 up 2:19, 2 users, load average: 24.46, 23.15, 9.51 > Tasks: 474 total, 25 running, 449 sleeping, 0 stopped, 0 zombie > %Cpu(s): 0.2 us, 5.6 sy, 94.0 ni, 0.2 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 > st > MiB Mem : 64217.1 total, 50028.6 free, 6233.7 used, 7954.9 buff/cache > MiB Swap: 0.0 total, 0.0 free, 0.0 used. 54333.4 avail Mem > > I don't use distcc. The make -j25 -l24.8 I have specified is respected.
Interesting. Thanks. > > The contribution of distcc isn't clear to me yet, as I said before. > > Sometimes it's the bee's knees; other times it might just as well not be > > there. I don't like mysteries... :) I've decided to ditch distcc altogether. During the very first build, what it grants with one hand it takes away double with the other - lots of tiny jobs all started together, but then gcc is sompiled with just two threads. That just-two happens on at least two different machines (not just separate; different). The position is no better in regular maintenance: no matter how many /make/ tasks are needed, I get just two threads compiling at a time. (I'm referring to the single-host arrangement I mentioned at the start.) I'm baffled, and I don't like it; I much prefer understanding to mystery. -- Regards, Peter.