[Top][All Lists]
[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