On Fri, Jan 7, 2011 at 7:31 AM, Ralf Wildenhues <[email protected]> wrote: >> Perhaps a silly question: could it be easier to just post-process the >> include of all the Plo files to get rid of the duplicates? Since the >> vast majority of the data is duplicated among the files it seems a >> reasonable thing to do. > > Sure, this seems like a viable workaround when you don't hack on > Automake. However, even just generating 45MB of data only to remove it > again with sed or awk takes time during building, and I'd like to avoid > that time too if possible. Further, for some non-GCC compilers, the > depcomp script generates all the dummy dependencies manually, avoiding > that will save at least one sed per compiler invocation, and that's an > advantage as well, even if the relative savings are small compared to > the time a full build takes.
Right, obviously it's much better if we don't have to generate all the data in the first place :) My suggestion was more along the lines of "in case it's complicated/controversial to introduce a gnu-make mode we could do this...". But I'm all for doing the right thing if possible. >> I've tried this and I see no significant win, perhaps a solid 0.2, >> 0.15 difference (the timing is variable so it's difficult to measure >> with precision wins that small). > > Ah, but that's only because of another bug I didn't look for: automake > outputs its own 'all' rule unconditionally, i.e., even if you choose to > override it. That may have been done in order to "help" those poor > users adding prerequisites to 'all' instead of using 'all-local', but it > hurts for this hack. > > Can you, just for the sake of measuring performance, edit the generated > GNUmakefile and remove Automake's 'all' rule from it; something like > sed -i '/^all: .*BUILT_SOURCES/,/^$/d' GNUmakefile > > It should really prove a big, not a small win, otherwise it's not worth > looking at this further. Indeed, it cuts the total time almost exactly in half. Will this also go into the gnu-make mode or is it something we'd have to hack locally? Cheers, Xan
