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

Reply via email to