automake
[Top][All Lists]
Advanced

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

Re: Pathalogical behavior with "more" AM_CONDITIONAL()s?


From: Robert Collins
Subject: Re: Pathalogical behavior with "more" AM_CONDITIONAL()s?
Date: 01 Aug 2002 16:37:33 +1000

On Thu, 2002-08-01 at 12:55, Harlan Stenn wrote:
> Here are the results of my testing:
> 
>  someconditionals/:
>       automake-1.5:    249.480u 2.660s 4:42.35 89.3%  0+0k 0+0io 341pf+0w
>       automake-1.6.3:  341.810u 2.840s 6:07.24 93.8%  0+0k 0+0io 356pf+0w
> 
>  moreconditionals/:
>       automake-1.5:   1134.130u 6.730s 21:27.70 88.5% 0+0k 0+0io 615pf+0w
>       automake-1.6.3: 1199.000u 5.520s 21:45.32 92.2% 0+0k 0+0io 578pf+0w
> 
> "someconditionals" uses 24 conditionals and has 632 Makefile.am's.
> 
> "moreconditionals" uses 24 conditionals and has 635 Makefile.am's.
> 
> It sure looks like I ran these on the same machine, and I doubt the
> difference is due to 3 more Makefile.am's...

I should have provided more information: Automake 1.6 will run slower,
but produce -much- smaller Makefile.in files.

1.5 generates (2^conditionalcount)*rules with any conditional lines.
1.6 eliminates non-impacting permutations.

One example: an automake 1.5 generated Makefile.in from a 8K Makefile.am
for squid (www.squid-cache.org) was 1.6 Megabytes in size.
The same file generated via automake 1.6 is 40K in size.

So... automake is slower to run, but generates faster makefiles.

Also, you should only need to run automake infrequently over the whole
project.

Finally, to address your 800 second increase - you don't say whether the
someconditionals results are from a subset of the moreconditionals run -
assuming they are then it appears you only have 3 Makefile.am's to
investigate to identify the problem file - and I'm sure that it's likely
worth generating a problem report (PR) for if we can pin down the
Makefile layout that causes such a large increase.

I.e. what is the timing of:
project root$ automake (your options) path/to/one/slow/Makefile.am. 
Is that still ~1000 seconds? Or is it ~200->400 seconds?

Rob

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

[Prev in Thread] Current Thread [Next in Thread]