Re:“Static Linking Considered Harmful” Considered Harmful
by PaulDavisThe1st on Sunday October 03, 2021 @10:08AM
(#28737248)
Yes and no. In Ardour, which has a substantial dependency tree (80+ libraries), if we statically link, the edit/compile/debug cycle becomes incredibly bogged down by static linkage. It takes a long time (even with lld) to complete the link step. If we use shared libraries/dynamic linkage, the edit/compile/debug cycle is nice and fast, but application startup is a bit slower (not by as much as static linkage is slower, however).
For users, it would be better if the application was statically linked, at least in terms of startup cost. But because developers do the edit/compile/debug cycle much, much more often than users start the application, we opt for dynamic linkage.
Re:“Static Linking Considered Harmful” Considered Harmful
by xyzzyz on Sunday October 03, 2021 @10:19AM
(#28737332)
You can dynamically link during development, and then ship statically linked binary (with LTO etc). That’s what Chrome does, for example.
Re:“Static Linking Considered Harmful” Considered Harmful
by PaulDavisThe1st on Sunday October 03, 2021 @10:23AM
(#28737367)
It's not that simple for us (we have tried this).
[1] https://github.com/ThrowTheSwitch/Ceedling/tree/master/plugi...