Performance loss with gfortran on 64-bit Linux

Uros Bizjak ubizjak@gmail.com
Sun Jul 23 11:18:00 GMT 2006


FX Coudert wrote:

>>  From the -static profile runs, it looks like some kind of a library 
>> problem to me, as on the top of 64bit profiled run (run-pg.64s) we have:
>>
>> 26.82    279.89   279.89                             fesetenv
>> 19.00    478.20   198.31                             fesetround
>
> > [...]
>
>>  9.35    842.30    97.57                             feholdexcept
>
>
> That's crazy! Could you set up a breakpoint on any of those, to know 
> how they get called?
>
Sure:

(gdb) break fesetenv
Breakpoint 1 at 0x438c80
(gdb) run

Breakpoint 1, 0x0000000000438c80 in fesetenv ()
(gdb) bt
#0  0x0000000000438c80 in fesetenv ()
#1  0x00000000004342ba in __ieee754_expf ()
#2  0x000000000042a01d in expf ()
#3  0x0000000000412c44 in co2emissvt_ ()
#4  0x00000000004116ca in irmars_ ()
#5  0x0000000000401612 in marsrad_ ()
#6  0x0000000000400761 in MAIN__ ()

(gdb) break fesetround
Breakpoint 2 at 0x438c00
(gdb) cont

Breakpoint 2, 0x0000000000438c00 in fesetround ()
(gdb) bt
#0  0x0000000000438c00 in fesetround ()
#1  0x00000000004341f4 in __ieee754_expf ()
#2  0x000000000042a01d in expf ()
#3  0x0000000000412cf5 in co2emissvt_ ()
#4  0x00000000004116ca in irmars_ ()
#5  0x0000000000401612 in marsrad_ ()
#6  0x0000000000400761 in MAIN__ ()

(gdb) break feholdexcept
Breakpoint 3 at 0x438c50
(gdb) cont

Breakpoint 3, 0x0000000000438c50 in feholdexcept ()
(gdb) bt
#0  0x0000000000438c50 in feholdexcept ()
#1  0x00000000004341ed in __ieee754_expf ()
#2  0x000000000042a01d in expf ()
#3  0x0000000000412d5b in co2emissvt_ ()
#4  0x00000000004116ca in irmars_ ()
#5  0x0000000000401612 in marsrad_ ()
#6  0x0000000000400761 in MAIN__ ()

Uros.



More information about the Fortran mailing list