Re:Tup – an instrumenting file-based build system
by drothlis on Tuesday August 16, 2022 @09:21AM
(#32482365)
I did hit a weird edge case in Make's job scheduling. Ninja will try to build things in the order that they are listed in the "build.ninja" file; make kind-of does too, but if any dependencies need to be built first, the later targets get pushed to the very end of the job queue. This means that you can end up running many resource-intensive linking jobs all at the same time at the very end of the build: https://lists.gnu.org/archive/html/help-make/2016-11/msg0000...
It's hard to say how much impact this would have in real-world scenarios.
Re:Tup – an instrumenting file-based build system
by actionfromafar on Tuesday August 16, 2022 @01:37PM
(#32486104)
I think I must have hit that case often, I have come to see it as inevitable that Make does a lot of linking at the end...
I say this because in my use case ninja spends almost all of its time running compiler processes, not resolving deps.