IRA for GCC 4.4

Vladimir Makarov vmakarov@redhat.com
Thu Apr 24 18:00:00 GMT 2008


FX wrote:
>>  The best way to test IRA is to build and use the branch.  It is easy to
>> compare the old RA (which is the default on the branch) and IRA (-fira
>> option switches IRA on).  I'd recommend to try the following option sets:
>>   -fira
>>   -fira -fira-algorithm=CB
>>     
>
> OK, I've done that and I see a 40% to 60% increase in compilation time
> for the first (Fortran) testcase I tried, is that expected?
>
> With the compiler from the ira branch on x86_64-linux, here are the
> timings reported by "gfortran -c -time -save-temps" with and without
> IRA (two timings provided for each set of option, to check
> reproducability):
>
> With -O0
> # f951 148.97 9.92
> # as 3.95 0.18
>
> # f951 137.51 7.05
> # as 3.98 0.17
>
> With -O0 -fira
> # f951 223.89 10.91
> # as 3.67 0.18
>
> # f951 218.98 8.43
> # as 3.61 0.19
>
> -O0 -fira -fira-algorithm=CB
> # f951 191.32 9.03
> # as 3.65 0.15
>
> # f951 190.92 8.96
> # as 3.63 0.18
>
>
> (The testcase is 400k lines of preprocessed Fortran code, 16M is size,
> available here:
> http://www.pci.unizh.ch/vandevondele/tmp/all_cp2k_gfortran.f90.gz)
>
>
>   
Thanks for extremely interesting test (with more 3500 big functions in 
one file).  It seems that the difference in cpu time is not so big but 
the wall time difference is really big.  The reason for this is memory 
consumption.  Even with the old allocator gcc needs more 1GB for -O0.  
With IRA it needs more 2GB memory.  The same problem would be if 
global.c were used for -O0.

The following patch brings the same memory consumption for -fira -O0 as 
for the old allocator.  The patch decreases the difference in wall time 
to 13-20% (I can see 10% discrepancy in wall time even for the old 
allocator on my 2GB Core2 machine.  I found it depends on did I start 
firefox on my machine or not).  I'll commit the patch after thorough 
testing.

It is a temporary solution,  I think I'll have better solution in 2-3 
weeks bringing the wall time really close to the old allocator.




-------------- next part --------------
A non-text attachment was scrubbed...
Name: O0.patch
Type: text/x-patch
Size: 42741 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc/attachments/20080424/b26e0b62/attachment.bin>


More information about the Gcc mailing list