[distcc] Re: separating compiler and assembler: benchmarks

Alexandre Oliva oliva at lsd.ic.unicamp.br
Tue Mar 4 01:57:56 GMT 2003


On Mar  3, 2003, Martin Pool <mbp at sourcefrog.net> wrote:

> I also tried gradually feeding gcc from a fifo with assembly sent to
> stdout, and observed that there was no output until the input file was
> closed.  

That must be buffering in gcc's stdout.  Try a Reall Big (TM) file and
you'll see it starts emitting assembly code as soon as it gets to the
end of a function whose compilation is not deferred for inlining.
Some recent developments in GCC 3.4 for unit-at-a-time compilation
change the behavior such that it only starts emitting assembly code
after the entire translation unit is parsed and analyzed, but even
then, it's an optimization option, not the default behavior.

> Perhaps there are buffering effects that just make it look like it's
> waiting until the end, when in fact for a larger file it would come
> out earlier?

Certainly.

-- 
Alexandre Oliva   Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer                 aoliva@{redhat.com, gcc.gnu.org}
CS PhD student at IC-Unicamp        oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist                Professional serial bug killer


More information about the distcc mailing list