Hi Michael, Thank you for providing more information on the topic.
> [1] http://gittup.org/tup/build_system_rules_and_algorithms.pdf That was an interesting read and the numbers are quite impressive. However I'm skeptical of the overall approach, as it seems to require a considerable amount of manual maintenance: file-change lists, 'inverse dependency' tracking, sorted file lists. (?) It looks like tup's solving a much simpler problem than make; while make solves the whole problem. > [2] > http://gittup.org/blog/2014/03/6-clobber-builds-part-1---missing-dependencies > [3] > http://gittup.org/blog/2014/05/7-clobber-builds-part-2---fixing-missing-dependencies > [4] > http://gittup.org/blog/2014/06/8-clobber-builds-part-3---other-clobber-causes > > (I haven't finished part 4 of the clobber series). > >> Make is fine and we're not the only project of this size that uses make. >> The Linux kernel also does and achieves way better results here. The >> problem is in our build scripts. > > I agree the Linux kernel results are better, but for me it is still > insufficient, where a no-op build time of the linux tree is 7.7s. In > comparison, with tup a no-op build time is 0.002s [5]. I'm not saying tup is > perfect, or the only way forward. But to say that we just need to spend a > little more time writing better Makefiles is a myth that needs to be > dispelled. Although there are certainly improvements that can be had with > that approach, there is no end to it. You will always have slow incremental > build times for a project of this size. You will always have cases where you > need to clobber and start over from scratch. And you will always try to find > clever hacks and work-arounds to avoid these issues (like cd'ing into a > subdirectory and running make there. Why is it that you can figure this out > faster than a machine?). That's why I outlined these rules clearly in the > paper, as well as the algorithms necessary to accomplish them. > > Anyway, this is probably getting off-topic for dev-platform. If you still > believe that we just need to add some extra goop to our Makefiles and we'd > all be happy, I'd love to meet up with you in Portland and hear why. As I mentioned elsewhere, I don't know the build scripts in detail, so I probably can't add a contribution besides complaining. ;) If there's a build-system session in Portland I'd be interested to attend, though. Best regards Thomas > > -Mike > > [5] The comparison isn't entirely valid, since with make I'm only building > linux, but with tup I'm also building alsa, binutils, busybox, libfuse, gcc, > mplayer, ssh, uClibc, and others. > _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform