Path: csiph.com!eternal-september.org!feeder.eternal-september.org!.POSTED!not-for-mail From: Keith Thompson Newsgroups: comp.lang.c Subject: Re: New and improved version of cdecl Date: Wed, 29 Oct 2025 21:24:34 -0700 Organization: None to speak of Lines: 33 Message-ID: <87zf995859.fsf@example.invalid> References: <87bjlyobts.fsf@example.invalid> <10dkesj$3r64j$1@dont-email.me> <10dl0g9$3venf$1@dont-email.me> <10dmk77$egg1$1@dont-email.me> <10dnprf$qmrg$1@dont-email.me> <10dnsm7$rjo7$1@dont-email.me> <10do23k$u17l$1@dont-email.me> <10dpa4q$1ghgu$1@dont-email.me> <10dq8lr$1tm90$1@dont-email.me> <87zf9azo0m.fsf@example.invalid> <10drip8$2gm7h$1@dont-email.me> <10dteds$30cp7$2@dont-email.me> <10du0gt$37r02$1@dont-email.me> <10du6ic$39mk9$1@dont-email.me> <10dubtm$3bcua$1@dont-email.me> <10dumia$3uier$1@paganini.bofh.team> MIME-Version: 1.0 Content-Type: text/plain Injection-Date: Thu, 30 Oct 2025 04:24:36 +0000 (UTC) Injection-Info: dont-email.me; posting-host="5554a9fe3bce56cb13705adf58e3063f"; logging-data="3621589"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19QqOnc1GCgTGlSuSBO/J5O" User-Agent: Gnus/5.13 (Gnus v5.13) Cancel-Lock: sha1:ia9wedsNjAhNZS/0lcLoWLTrmx4= sha1:EeiU4L3m8NpxE7a7CJr0RYzI+54= Xref: csiph.com comp.lang.c:394956 antispam@fricas.org (Waldek Hebisch) writes: [...] > Assuming that you have enough RAM you should try at least using > 'make -j 3', that is allow make to use up to 3 jobs. I wrote > at least, because AFAIK cheapest PC CPU-s of reasonable age > have at least 2 cores, so to fully utilize the machine you > need at least 2 jobs. 3 is better, because some jobs may wait > for I/O. I haven't been using make's "-j" option for most of my builds. I'm going to start doing so now (updating my wrapper script). I initially tried replacing "make" by "make -j", with no numeric argument. The result was that my system nearly froze (the load average went up to nearly 200). It even invoked the infamous OOM killer. "make -j" tells make to use as many parallel processes as possible. "make -j $(nproc)" is much better. The "nproc" command reports the number of available processing units. Experiments with a fairly large build show that arguments to "-j" larger than $(nproc) do not speed things up (on a fairly old machine with nproc=4). I had speculated that "make -n 5" might be worthwhile of some processes were I/O-bound, but that doesn't appear to be the case. This applies to GNU make. There are other "make" implementations which may or may not have a similar feature. [...] -- Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com void Void(void) { Void(); } /* The recursive call of the void */