position-independent code (pic)
There is a significant runtime cost for position-independent code when using dynamic linking (shared objects) in Linux, BSD and Mac systems. Critical CPU-intensive code should never be stored in a shared object on these systems.