bug-automake
[Top][All Lists]
Advanced

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

Re: Simple improvement of "make check" performance


From: Sven Herzberg
Subject: Re: Simple improvement of "make check" performance
Date: Tue, 16 Oct 2007 10:22:44 +0200
User-agent: Thunderbird 1.5.0.13 (X11/20070824)

Ralf Wildenhues wrote:
> * Sven Herzberg wrote on Fri, Oct 12, 2007 at 06:29:57PM CEST:
>   
>> this patch adds the check targets (eg. check_PROGRAMS) directly to the
>> dependencies of check-am, resulting in make spawning one command less
>> and better parallel build performance because make can decide whether
>> check_PROGRAMS need to be rebuild.
>>
>> In a simple example in one of my projects (with "TESTS=" - so that no
>> tests are executed) it reduced the overall time for running make check
>> in an updated source tree by ~32%.
>>     
>
> If you use parallel make with this patch, then it is not guaranteed any
> more that `all-am' is completed before any tests are invoked.

It's just not guaranteed that "all-am" is complete before any of the
check targets gets compiled, right? check-TESTS still requires the
complete all-am. This way, eg. check-PROGRAMS can be built while all-am
is being built.

> For that,
> `all-am' would further need to be listed as prerequisite of all check
> and check_tests targets.
>   

I don't think so, see above.

> Further, while the relative speedup of your proposed change sounds nice,
> I assume that, in absolute time, it's very small.  Is that correct?  If
> yes, then I would not worry so much about it.
>   

Yes, it's ~0,12s vs ~0,19 (don't have the exact numbers anymore). Though
my original motivation to write this patch was to get rid of the
"target-foo is already up-to-date" messages that I got for each
check_PROGRAM and check_LTLIBRARY (which was the obvious cause of make
not having enough knowledge about the complete DAG of the Makefile).

Regards,
  Sven




reply via email to

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