News for hackers. Stuff that matters.
Re:“Shared libraries are not a good thing in general” by alerighi on Saturday May 01, 2021 @08:10PM (#27011147)
Also compilers nowadays are smarter and can perform link time optimizations. Meaning that if of a library you only use a single function, in the final executable you would only get that single function. In reality code that use static linking could be more efficient than code that uses dynamic linking.

And you have to consider some performance penalty when using shared libraries. First you have a time penalty when loading the executable, since first you have to run the interpreter (ld-linux) and then your actual code. But also for each function call you have to make an indirect jump into it.

Re:“Shared libraries are not a good thing in general” by bonzini on Sunday May 02, 2021 @02:25AM (#27012781)
> But also for each function call you have to make an indirect jump into it.

Only the first call has a penalty. Then you call into the PLT and the PLT contains a direct jump to the function.

Re:“Shared libraries are not a good thing in general” by kaba0 on Sunday May 02, 2021 @04:48AM (#27013455)
It still has a cost over potential inlining (that allows for more optimizations as well).

Of course if it is not a hotspot, it is meaningless.

Re:“Shared libraries are not a good thing in general” by creamytaco on Sunday May 02, 2021 @10:31AM (#27015630)
The call into the PLT is a penalty.
Re:“Shared libraries are not a good thing in general” by bonzini on Monday May 03, 2021 @12:37PM (#27027201)
Sure but it's not an indirect jump.