[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Automake-NG] [PATCH 00/11] Several changes to parallel-tests suppor
From: |
Stefano Lattarini |
Subject: |
Re: [Automake-NG] [PATCH 00/11] Several changes to parallel-tests support |
Date: |
Wed, 09 May 2012 13:11:54 +0200 |
Hi Akim, thanks for the speedy review.
On 05/09/2012 12:15 PM, Akim Demaille wrote:
>
> Le 9 mai 2012 à 11:30, Stefano Lattarini a écrit :
>
>> I will push in 72 hours if there is no review by then.
>
> I browsed them all. I'm happy that it will be possible to
> specify dependencies :)
>
> It looks ok, and very cleanly done.
>
> I have one worry though: what about runtime performances? Sure,
> late binding provides more features, but it might be costly. Do
> you have means to evaluate that we have no serious regressions?
>
Not really (even if I didn't notice any slowdown in during use of
the Automake testsuite); do you want me to run some measurements?
(And this makes me think: should we add a "performance" testsuite
in Automake, offering a quick and convenient way to measure how a
changeset impacts performances? And if yes: would you have any
suggestion on how to set this up?)
But back to the point: notice that the pre-existing implementation of
the parallel testsuite harness already made quite an extensive use of
late bindings in the definition of $(TESTS) (to allow things like
overriding of TESTS and TEST_LOGS at make runtime), and this has never
had any negative impact on the performances.
> Also, I don't know if it's part of your specs for automake-ng,
> but, performance-wise *and* from the point of view of semantics,
> *and* of syntax, I am very fond of this new feature of GNU Make 3.82:
>
> * New special target: .ONESHELL instructs make to invoke a single instance
> of the shell and provide it with the entire recipe, regardless of how many
> lines it contains.
>
Ugh, no please. Some times it is very useful to split a recipe in distinct
shell invocations, and the '.ONESHELL' directive would prevent us from
doing so (as, AFAIK, it acts on a global level, not on a target-specific
level).
More importantly: I want Automake-NG to work with at least GNU make 3.81 as
well (and also GNU make 3.80, it that's not too difficult), so using a
feature introduced in 3.82 is a big no-no.
> As a special feature to allow more straightforward
> conversion of makefiles to use .ONESHELL, any recipe line control
> characters ('@', '+', or '-') will be removed from the second and
> subsequent recipe lines. This happens _only_ if the SHELL value is deemed
> to be a standard POSIX-style shell. If not, then no interior line control
> characters are removed (as they may be part of the scripting language used
> with the alternate SHELL).
>
> I would strongly suggest to use it, and to drop \ and ; as dead as can be
> (before my keys are completely worn out).
>
> .ONESHELL:
> all:
> @foo=bar
> echo $$foo
> if test $$foo = bar; then
> echo pass
> else
> echo fail
> fi
>
>
> $ gmake -C /tmp
> gmake : on entre dans le répertoire « /private/tmp »
> bar
> pass
> gmake: on quitte le répertoire « /private/tmp »
>
Regards,
Stefano
- [Automake-NG] [PATCH 05/11] [ng] check: minor refactoring (reorder code), (continued)
- [Automake-NG] [PATCH 05/11] [ng] check: minor refactoring (reorder code), Stefano Lattarini, 2012/05/09
- [Automake-NG] [PATCH 02/11] [ng] refactor: get rid of am__EXEEXT (automake conditional and %transform), Stefano Lattarini, 2012/05/09
- [Automake-NG] [PATCH 01/11] [ng] check: big refactoring with semantic changes in parallel-tests support, Stefano Lattarini, 2012/05/09
- [Automake-NG] [PATCH 08/11] [ng] check: AM_LAZY_CHECK="yes", not RECHECK_TESTS="", for lazy re-runs, Stefano Lattarini, 2012/05/09
- [Automake-NG] [PATCH 07/11] [ng] check: refactor: split recipes for check-TESTS and recheck, Stefano Lattarini, 2012/05/09
- [Automake-NG] [PATCH 06/11] [ng] check: minor refactoring (prefer make time over recipe time), Stefano Lattarini, 2012/05/09
- [Automake-NG] [PATCH 11/11] [ng] check: per-suffix dependencies for test cases, Stefano Lattarini, 2012/05/09
- [Automake-NG] [PATCH 10/11] [ng] check: few minor simplifications, Stefano Lattarini, 2012/05/09
- [Automake-NG] [PATCH 09/11] [ng] tests: remove overly picky test cases (and fix few typos), Stefano Lattarini, 2012/05/09
- Re: [Automake-NG] [PATCH 00/11] Several changes to parallel-tests support, Akim Demaille, 2012/05/09
- Re: [Automake-NG] [PATCH 00/11] Several changes to parallel-tests support,
Stefano Lattarini <=
- Re: [Automake-NG] [PATCH 00/11] Several changes to parallel-tests support, Akim Demaille, 2012/05/09
- Re: [Automake-NG] [PATCH 00/11] Several changes to parallel-tests support, Stefano Lattarini, 2012/05/09
- Re: [Automake-NG] [PATCH 00/11] Several changes to parallel-tests support, Bob Friesenhahn, 2012/05/09
- Re: [Automake-NG] [PATCH 00/11] Several changes to parallel-tests support, Stefano Lattarini, 2012/05/10
- Re: [Automake-NG] [PATCH 00/11] Several changes to parallel-tests support, Bob Friesenhahn, 2012/05/10
- Re: [Automake-NG] [PATCH 00/11] Several changes to parallel-tests support, Stefano Lattarini, 2012/05/10
- Re: [Automake-NG] [PATCH 00/11] Several changes to parallel-tests support, Bob Friesenhahn, 2012/05/10
- Re: [Automake-NG] [PATCH 00/11] Several changes to parallel-tests support, Bob Friesenhahn, 2012/05/10
- Re: [Automake-NG] [PATCH 00/11] Several changes to parallel-tests support, Stefano Lattarini, 2012/05/10
- Re: [Automake-NG] [PATCH 00/11] Several changes to parallel-tests support, Bob Friesenhahn, 2012/05/10