[M3devel] possible cygwin createprocess/fork cost measurements..

Olaf Wagner wagner at elegosoft.com
Tue Mar 25 23:24:35 CET 2008


Quoting Tony Hosking <hosking at cs.purdue.edu>:

> On Mar 24, 2008, at 4:38 PM, Jay wrote:
>> The NT386 compiler is ROUGHLY 4 times the speed of NT386GNU.
>
> It doesn't pass through the 4 stages of IR that the gcc backend uses:
> m3cg => .mo => gcc trees => gcc rtl => .s => .o.  Hence the speed.
> The integrated backend compiler does m3cg => .o.

That's probably the main reason; another is its flexibility and
portability, which will cost some performance, too. I agree that
the gcc backend is really slow in comparison. It's really great
wrt. all the different targets though ;-)

Maybe avoiding some intermediate files may help a bit? I remember
there was the -pipe option for gcc:

   -pipe
       Use pipes rather than temporary files for communication between the
       various stages of compilation.  This fails to work on some systems
       where the assembler is unable to read from a pipe; but the GNU
       assembler has no trouble.

I don't know how easily this can be used with cm3cg though.

Olaf

>> That must be coming from SOMEWHERE, though I don't really know where.
>> It could be that cm3cg merely spends a lot of CPU trying to improve  
>>   the code
>> and hardly achieving anything.

-- 
Olaf Wagner -- elego Software Solutions GmbH
                Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany
phone: +49 30 23 45 86 96  mobile: +49 177 2345 869  fax: +49 30 23 45 86 95
    http://www.elegosoft.com | Geschäftsführer: Olaf Wagner | Sitz: Berlin
Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194




More information about the M3devel mailing list