[Patch, Fortran, OOP] PR 50960: vtables not marked as constant

Tobias Burnus burnus@net-b.de
Mon Nov 14 16:43:00 GMT 2011


On 11/14/2011 04:47 PM, Salvatore Filippone wrote:
> Well, -flto makes things worse, a LOT worse, run time is multiplied by 
> 1.85 for a certain phase (50.2 s instead of 27.2) and 2.23 for another 
> (9.53 s instead of 4.27)! Maybe this is worth investigating?

I think it is definitely worth doing so. Best would be a small test 
case; however, any prescription how one can reproduce it, would help.

Is the library and the test case somewhere available? I assume, you use 
a newer-than-released PSBLAS v3beta version.

The huge performance difference comes completely unexpectedly. LTO 
should typically not make much of a difference and it typically it 
should not pessimize the run time much (if at all), though like any 
heuristic optimization, it sometimes might.

Note: As LTO only applies (at link time) to files compiled with -flto, 
you could try to narrow it down by only compiling certain files with -flto.

Question: Which flags do you use for *linking*? I currently assume that 
you use "-O3 -march=native -flto" for both compiling and linking. 
However, if one skips the -O3 for the "-flto" linking, I could imagine 
performance issues.
(I also remember that once the "-march=native" was effectively lost for 
-flto, but that has been fixed and should not cause that much of a 
difference.)

Just for completeness: I assume that you run on a x86-64 Linux system 
(64bit code), aren't you?

Tobias



More information about the Fortran mailing list