[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #22923] option to prevent "interspersed" output in parallel builds
From: |
Howard Chu |
Subject: |
[bug #22923] option to prevent "interspersed" output in parallel builds |
Date: |
Fri, 15 Jan 2010 06:14:17 +0000 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; rv:1.9.3a1pre) Gecko/20091218 SeaMonkey/2.0a1pre Firefox/3.0.3 |
Follow-up Comment #7, bug #22923 (project make):
Reaching back 25 years again, this is basically what Alliant Concentrix
parallel make did. It prefixed each output line with the job number |1|, |2|
and so on. (This is also why in my original proposal for make -j, I used
different numbered job tokens, so that each make invocation could output its
own unique number.) Obviously the way that was done was by using a pipe for
each spawned jobs' stdout/stderr, so that the invoking make could attach the
prefix to any output lines. Of course, in the context of the current make -j
server, this would only allow us to handle 255 concurrent jobs. After working
on a Connection Machine with 1024 nodes, it became obvious that this wasn't a
perfect solution...
As a side note - stdout is always linebuffered by default. It's stderr that
may present problems, since by default it is unbuffered.
Just using each jobs' PID as a prefix isn't quite as pleasant, you get a much
noisier output since a single job can spawn a lot of processes and thus cycle
thru many PIDs in rapid succession.
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?22923>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/