Comment 11 for bug 1663280

Revision history for this message
In , Carlos (carlos-redhat-bugs) wrote :

(In reply to Florian Weimer from comment #6)
> (In reply to Carlos O'Donell from comment #5)
> > (In reply to Oleg Strikov from comment #4)
> > > Hi Carlos,
> > >
> > > Many thanks for looking into this! Could you please confirm that you used
> > > the following command to compile pow test with gcc:
> > >
> > > $ gcc -O3 -march=x86-64 -mavx -o pow pow.c -lm
> >
> > I can confirm that I used these options on an F25 system.
> >
> > The dynamic loader trampoline is only called once in the loop to resolve the
> > singular math function call, and after that it's the same sequence over and
> > over again without any explicit software save/restore (though the CPU might
> > do something for the transition).
>
> Right, that's why I found the claim about the substantial performance impact
> always a bit puzzling.

Agreed.

> What happens if you use LD_BIND_NOT=1?

[carlos@athas rhbz1421121]$ time LD_BIND_NOT=1 ./pow-test
154964150.331550

real 0m4.527s
user 0m4.505s
sys 0m0.003s

Terrible performance as expected though.

Surprisingly inline with Oleg's numbers.

However, LD_BIND_NOT performance is never the default, you'd have to be running with a preloaded audit library (LD_AUDIT) to trigger that kind of behaviour.

Perhaps something is wrong with Oleg's system configuration?