tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Issues with larger numbers with -j

On 06/14/17 04:20, Marc Espie wrote:
make isn't really an appropriate build tool for larger machines with
lots of cpu.

best-of-the-breed has been ninja for years. I wish it were in more common
use, as some big projects that support it (chrome) tend to not always use
it, so they are missing dependencies as well.

Anyway, ninja, is really good at representing complex dependency graphs
over a whole project, totally avoiding any kind of "recursive make"
behavior while eschewing extra complexity from some of its competitors.

Ninja *is* a next gen build system. Started from scratch, avoided all the
mistakes that are going to plague make until the end of time.

I don't know where pkgsrc stands these days, but changing generators to
ninja where possible (cmake -g Ninja for instance) yields huge benefits
in terms of parallelism for large software.

Sometimes you will run into dependency chains that need fixing and
upstreaming... the more projects looking into this the better.

30 years of software development teaching have made it clear to me that the tools are not the problem, the developers are.

A disciplined software engineer will efficiently produce great products with any reasonably modern language, OS, and build tools. A sloppy one will produce garbage no matter how awesome the tools they use.

Learn how to use make properly and it will serve you well for almost any project. In my view, if a project is too complex for make, it should be broken up into simpler modules, and dependencies should left to a package manager like pkgsrc.

Earth is a beta site.

Home | Main Index | Thread Index | Old Index