Which parallelism level is configured by
-jobs, and how safe is
-jobs=16? The help takes pain to distinguish:
- parallel build of (independent) opam packages - parallel build inside the make of each opam package
So I'd guess that
--jobs is about "parallel make jobs". But what's the opam-level parallelism, is it the same as usual? The help doesn't say.
The help also says:
With 32 GB of RAM a parallel package build with 16 make jobs is recommended.
surely probably you're not suggesting 16*16 = 256 jobs? I now see/recall that the "opam-level parallelism" seems somewhat hardcoded — we talked about this recently — but the help text remains confusing.
Okay, the numbers are multiplying —
$ ps -eo pid,cputime,rss,args | egrep 'coqc' | wc -l shows 40-60 processes. Finally a workload making my fans spin up!
$ opam var jobs 16
Yes, the numbers are multiplying. The recommendations I give in Coq Platform are based on tests, but I thought about reducing the 16 to 8.
It did work exactly according to your tests, I just didn't expect this much overcommitting to be fine. And as you noted, it's not on some intel laptops...
Btw.: I test this on a 8 core / 16 thread Ubuntu VM without swap, so if my test passes, it shouldn't swap.
No swapping, never seen it over 32GB :-). The OS scheduler just did better than I expected with so many threads!
Last updated: Jun 03 2023 at 05:01 UTC