self compile time

Stephen Weeks sweeks@intertrust.com
Thu, 30 Nov 2000 11:54:50 -0800 (PST)


Here are some interesting numbers from the latest native G1 building a native
G2 on a 733 MhZ.

total compile time: 948
 parse & elab time:  62
 closure conv time:  53
 allocate reg time:  84
 x86 code gen time: 555

        time in GC: 473

   bytes allocated: 30,557,292,572
      bytes copied: 15,490,170,048
    max bytes live:    155,876,440

I'm going to look into the three biggest bottlenecks in the front and middle
end, listed above.  I'm pretty sure I can speed up allocate registers.  The
other two I don't know why they're so slow.  

The biggest bottleneck is the x86 code generator.  I recall that with the C code
generator, the total allocation was about 7G and the max live was about 100M.
So it looks like the x86 code generator is doing quite a bit of allocation.

Matthew, I was wondering where you were with respect to a version of the code
generator that you're happy with feature-wise, and if you are ready to switch
focus to improving compile times?  I'm already happy enough with where we are to
do a release in January, but it would be great to cut self compile time in half,
which I believe is possible.