bug-make
[Top][All Lists]
Advanced

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

Re: [RFC]serialize the output of parallel make?


From: Eli Zaretskii
Subject: Re: [RFC]serialize the output of parallel make?
Date: Fri, 30 Jul 2010 14:18:17 +0300

> Date: Fri, 30 Jul 2010 17:55:54 +0800
> From: Chiheng Xu <address@hidden>
> Cc: address@hidden, address@hidden
> 
> On Fri, Jul 30, 2010 at 5:35 PM, Eli Zaretskii <address@hidden> wrote:
> >
> > I asked for an example.  Could you please show a "messy" output and
> > the output you'd like to have after "serialization"?
> >
> > TIA
> >
> 
> serially make : execute  A, B, C programs, they print:
> 
> A:  Hello, I'm A, I am from Earth.
> B:  The moon is my home.
> C:  Welcome to Mars, It's an amazing planet.
> 
> parallely make : the output of A, B, C programs interleave :
> 
> C:  Welcome to
> B:  The moon is my
> A:  Hello, I'm A, I am from Earth.home.Mars, It's an amazing planet.

You cannot get the former from the latter.  The most you can hope for
is this:

C:  Welcome to Mars, It's an amazing planet.
B:  The moon is my home.
A:  Hello, I'm A, I am from Earth.

In other words, you have no control on the order in which Make invokes
commands.  Not through output serialization, anyway.  Which means with
the following Makefile:

 a: b c d

 x: y z

you could well see output from some of the commands that belong to `a'
_after_ the output from some of the commands that belong to `x'.
There's nothing you can do about this, if you want a truly parallel
Make run.

And I agree with others that batching output rather than having it
appear in real-time is a disadvantage.  Don't forget that some jobs
invoked by Make could run for a long time, and all that time you will
not see any output from the running job, until it exits.




reply via email to

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