First a thanks to ause and heiner for the great work they have done with measuring, it's great to have this discussion going! :-)
Comments: - Building correctly is very important, speed doesn't help without correctness. That said, sc object files built 3x faster using --enable-jam pass smoketest on my machine .. Hopefully picking up flags will improve with internal flag documentation .. :-) - Ultimately the 10-20% advantage of jam for full builds is correct. But this is comparing jam -today- and a -potential- version of dmake/build.pl with all the improvements integrated and re-implemented. - For no-changes builds jam is usually a magnitude faster (seconds instead of minutes). The quickness of response time is usually much more important for day to day development. Ause reports a no-change sc build with 6s for jam and 55s for dmake/build.pl. I'd love to see recent numbers here, I've applied an upstreams patch to make jam a few times faster .. ;-) However, the real question is distributed builds, that's where we can extract another magnitude of speed. Even if we were ready to give up fast response times when compiling just a few files (hah!), the build.pl system only supports module level parallelism. We all know you -can- start compiling sc while sfx2 is worked on (as long as you have the headers) but build.pl doesn't let you do that. With the full dependency graph that jam includes you can distribute the build much more aggressively. So who does have a cluster like this? -Sun- has one internally, but it's only available for Sun employees and has several restrictions. The -community- also has a cluster at OSL, which could be grown a lot larger. We just need the software to use it.. :-) On 8/28/06, Caolan McNamara <[EMAIL PROTECTED]> wrote:
Probably orthogonal to jam/not jam, but is there any build time win to be gained by passing multiple input source files which share the same
This is one of the speedups that is implemented in jam01 that is referred to "batching" by ause and heiner. -- Kai Backman, Software Engineer, [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
