If you don’t want compilation to take all cores, use one or two cores less for the compile. I frequently compile C++ code, almost always I just let it max out 100%, haven’t been really bothered by the lag. When I’m in a teams meeting for instance it can cause noticable lag so then I do ninja -n 8 or ninja -n 12 and problem solved.
I have actually tried this solution as well and I had to reduce the compilation jobs to like 4 (usually would be 16 with my 16 logical cpus) before it helped any. That is simply too much of a reduction to be worth it, it makes compilation take ages.
And in the end, that’s still just a workaround to the more general problem that is the fact that the desktop environment and user input is not prioritised in the scheduler, when it really should. I really want Linux to succeed so it pains me to see Windows do better in this situation.
Huh odd, I guess it depends quite heavily on the system? Just to check I cleaned my build folder and am building now, ~700 files that take around 5 minutes to compile. I don’t notice a thing, CPU (Ryzen 7 7700X ) is fully maxed out. I know that I do notice it on my laptop, but there reducing from 16 to 12 or even 14 is enough. Having to reduce to 4 is very different from what I experience. Currently on manjaro, the laptop has ubuntu.
As much as I want such news to sound good, there’s still massive problems with UX and performance scheduling on Linux.
If you don’t want compilation to take all cores, use one or two cores less for the compile. I frequently compile C++ code, almost always I just let it max out 100%, haven’t been really bothered by the lag. When I’m in a teams meeting for instance it can cause noticable lag so then I do
ninja -n 8
orninja -n 12
and problem solved.I have actually tried this solution as well and I had to reduce the compilation jobs to like 4 (usually would be 16 with my 16 logical cpus) before it helped any. That is simply too much of a reduction to be worth it, it makes compilation take ages.
And in the end, that’s still just a workaround to the more general problem that is the fact that the desktop environment and user input is not prioritised in the scheduler, when it really should. I really want Linux to succeed so it pains me to see Windows do better in this situation.
Huh odd, I guess it depends quite heavily on the system? Just to check I cleaned my build folder and am building now, ~700 files that take around 5 minutes to compile. I don’t notice a thing, CPU (Ryzen 7 7700X ) is fully maxed out. I know that I do notice it on my laptop, but there reducing from 16 to 12 or even 14 is enough. Having to reduce to 4 is very different from what I experience. Currently on manjaro, the laptop has ubuntu.
Hmm curious. I guess I might need to investigate more