negative performance speedup with -fno-plt
Florian Weimer
fweimer@redhat.com
Mon Sep 16 06:42:34 GMT 2024
* Farid Zakaria via Libc-help:
> I'm comparing it against a Python built with BIND_NOW (-z,now) to
> account for no-lazy binding in both. I'm a bit stumped at what could
> be causing some negative speedups. Anyone got leads that might cause a
> difference?
Look at mispredicted indirect branches. With the PLT, all the different
calls to external functions share one indirect branch, but without it,
you get an indirect branch for each call site. It must be predicted
indepedently, and your CPU might not be able to track so man indirect
branches.
Thanks,
Florian
More information about the Libc-help
mailing list