Remix.run Logo
ahartmetz 6 hours ago

Dynamic linking is also great for compile time of debug builds. If a large library or application is split up into smaller shared libraries, ones unaffected by changes don't need to be touched at all. Runtime dynamic linking has a small overhead, but it's several orders of magnitude faster than compile-time linking, so not a problem in debug builds.

PaulDavisThe1st 6 hours ago | parent [-]

for developer turnaround time, it is huge. we explicitly do not statically link Ardour because as developers we are in the edit-compile-debug cycle all day every day, and speeding up the link step (which dynamic linking does dramatically, especially with parallel linkers like lld) is a gigantic improvement to our quality of life and productivity.

elteto 6 hours ago | parent [-]

A common pattern is dynamic linking for development and static linking for production-ready releases.

PaulDavisThe1st 5 hours ago | parent | next [-]

We considered doing both, but it turned out that the GUI toolkit we use was really, really not designed to be statically linked, so we stopped trying.

ahartmetz 5 hours ago | parent | prev [-]

Yes, that's a good way to do it.