In terms of net performance:
Common objects are compiled as PIC (position-independent code), which theoretically may be slightly less efficient than regular code on some architectures (including x86).
However, I do not think that would make a real difference.
From any other points
Using a shared object, it has too many advantages over a static library, which is simply the best alternative.
source share