automake-patches
[Top][All Lists]
Advanced

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

Re: [PATCH v4 3/3] parallel-tests: allow each test to have multiple resu


From: Stefano Lattarini
Subject: Re: [PATCH v4 3/3] parallel-tests: allow each test to have multiple results
Date: Mon, 20 Jun 2011 22:58:05 +0200
User-agent: KMail/1.13.3 (Linux/2.6.30-2-686; KDE/4.4.4; i686; ; )

On Monday 20 June 2011, Ralf Wildenhues wrote:
> Hi Stefano,
> 
> * Stefano Lattarini wrote on Mon, Jun 20, 2011 at 10:26:06PM CEST:
> > On Monday 20 June 2011, Ralf Wildenhues wrote:
> > > Why not just split the whole documentation change into a followup patch
> > > then?
> > >
> > Because that would only postpone, not avoid, the continous tweaking and
> > amending the documentation; what I'd like instead is to improve it
> > organically and incrementally, in separate patches; i.e., commit a sketchy
> > but correct (even if incomplete) documentation first, and then improve it
> > with follow-ups (maybe handling one concept or one part at the time).
> 
> Well, then please split the incomplete doc part of your patches into
> separate patches, so I can say "no" to them and "yes" to the other ones
> easily.  ;-)
>
This can be done, yes.  I'll keep the documentation part of the first
patch, tough, as that's complete as-is (not perfect, but without TODOs
or FIXMEs, nor obvious shortcomings).

[PATCH v5] series coming up soonish ...

> > > > > This will be quite fork expensive, if done in real-world code.
> > > > >
> > > > But this is in a script used only for testing.  I don't think
> > > > it's worth optimizing it.
> > > 
> > > No, it's not, but your real scripts won't look all that different.
> > > Besides, why not do it right the first time?
> > >
> > I still don't see the point this honestly, but I've thrown in a couple
> > optimizations for bash, zsh and XSI shells (see attached squash-in).
> > Is that enough?
> 
> Just leave that out.  You are right that doing such micro optimizing
> will not at all be a good strategy, if you do it unorganized and without
> planning.  Leave it for later, but still keep half an eye on the stuff
> not getting like 4 times slower overhead.
>
OK.

> > > I don't actually care much about micro optimizations like the above at
> > > this point, but I do care when the whole set of code changes will
> > > introduce a factor of 2 slowdown in the test suite overhead.  It looks
> > > like it may eventually, judging from your measurements done, and that's
> > > what I am trying to prevent.  On w32, that would cause real pain.
> > >
> > But maybe it would be worth trying to instead optimize stuff like
> > $(am__check_pre) and $(am__vpath_adj_setup), where we could trim
> > extra forks in the case of XSI shells or bash.
>
Addendum: your (incomplete) patches about GNU make specific optimizations
could help with this too.

> 
> Doesn't sound like it would bring your project forward at this point.
>
It wouldn't -- and I wasn't planning to do it now; I only pointed out
that it would be possible.

> I'm sorry I brought this topic up before.  I shouldn't have.
> 
> > I.e., optimize an
> > existing and tested implementation instead of holding back a
> > promising design due to *possible* future performance problems.
> 
> Well, I don't like this attitude.  If something will have a performance
> problem, then maybe it was not all that promising after all.  I'm not
> claiming your approach has, however.  All I'm suggesting is that you do
> keep an eye on it.
>
Of course, sorry if I made it look I'm disregarding the problem.  I'm
not, and I'll try hard not to let it fall off the radar either.

> > Also, "execing" the test driver in check2.am instead of "spawning" it
> > could avoid an expensive fork.  But we should then test at configure
> > time that $SHELL can gracefully handle such "execing" w.r.t. the use
> > of $(TESTS_ENVIRONMENT); i.e., that an usage like:
> >   "9>&2 foo=bar exec sh -c 'echo $foo >&9'"
> > does the expected thing (hint: it does with dash, bash, zsh, NetBSD
> > /bin/sh and Debian ksh; it doesn't with Solaris /bin/ksh and /bin/sh).
> 
> Such changes should only be done after demonstrating that they actually
> cause measureable speedups.
>
Of course -- that's why I'm not doing them right now, and keeping them
for follow-up patches.  While the changes might be simple, proving that
they are usful might be harder, and certainly more time-consuming.

> And has no semantic changes (which I am not so sure of).
>
That's why we should need extensive configure-time tests.

> For example the parallel BSD makes tend to reuse shells for running
> the recipe commands;
>
But only for the commands in the same recipe, right?

> I'm not so sure they like if their shells go away with exec.
>
In this case, not a problem I think, since the invocation of the
testsuite driver is the last command in the recipe.

Regards,
  Stefano



reply via email to

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