| ▲ | pjmlp 12 hours ago | |||||||||||||||||||||||||
We had a time when static binaries where pretty much the only thing we had available. Here is an idea, lets go back to pure UNIX distros using static binaries with OS IPC for any kind of application dynamism, I bet it will work out great, after all it did for several years. Got to put that RAM to use. | ||||||||||||||||||||||||||
| ▲ | flohofwoe 10 hours ago | parent | next [-] | |||||||||||||||||||||||||
The thing with static linking is that it enables aggressive dead code elimination (e.g. DLL are a hard optimization barrier). Even with multiple processes sharing the same DLL I would be surprised if the alternative of those processes only containing the code they actually need would increase RAM usage dramatically, especially since most processes that run in the background on a typical Linux system wouldn't event even need to go through glibc but could talk directly to the syscall interface. DLLs are fine as operating system interface as long as they are stable (e.g. Windows does it right, glibc doesn't). But apart from operating system interfaces and plugins, overusing dynamic linking just doesn't make a lot of sense (like on most Linux systems with their package managers). | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||
| ▲ | jacquesm 12 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||
I've been static linking my executables for years. The downside, that you might end up with an outdated library, is no match for the upsite: just take the binary and run it. As long as you're the only user of the system and the code is your own you're going to be just fine. | ||||||||||||||||||||||||||
| ▲ | account42 11 hours ago | parent | prev [-] | |||||||||||||||||||||||||
I don't think dynamic libraries fail at "utilizing" any available RAM. | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||