Off-Topic > Off-Topic - Tiny Core Lounge
interesting competition
hiro:
--- Quote from: bmarkus on May 03, 2014, 02:52:58 PM ---When you have a fix in shared lib environment, you must update just the SSH library. In a statically linked you must rebuild all apps using it.
--- End quote ---
If you compile everything yourself then it won't create much more pain than what you already have.
And most people update way too often anyways (just features or useless changes that often bring new bugs, new incompatibilities and new security problems). In other words: I value quality over quantity of updates.
If you kept it to just security critical stuff there isn't that much to update anyways, so you can actually save time even compared to binary packages.
And most people use binaries anways, they don't need to recompile anything EVER.
--- Quote from: bmarkus on May 03, 2014, 02:52:58 PM ---Also using shared libs significantly reduce the overall system size.
--- End quote ---
Dynamic linking has considerable overhead.
There are some huge libraries that for the biggest part of them aren't even used by any installed app. If we were to link our apps just against the subset of functions they actually use we might see overall system space savings.
The only thing I know supporting your point would be GTK and glib. They are a huge problem, but I don't think hiding that with dynamic linking is worth anything or anyways working well at all.
Security-wise dynamic linking is the real nightmare. It creates so much complexity that nobody knows how to handle it. Just look at the examples linked on the pages in my other post.
curaga:
--- Quote from: hiro ---Dynamic linking has considerable overhead.
There are some huge libraries that for the biggest part of them aren't even used by any installed app. If we were to link our apps just against the subset of functions they actually use we might see overall system space savings.
--- End quote ---
There are tools that analyze a complete system, and then strip the unused symbols out of the shared libs. If you're going to create a static (heh) system, one of those would be useful.
--- Quote ---Go
--- End quote ---
Nice example to the sizes involved, a hello world in Go is 900kb stripped.
hiro:
Well, go is a language that has deliberately not been optimized for binary size. The same people were involved in plan9 and all the statically compiled binaries on there are incredibly small.
I don't think huge binaries are nice, but small binaries are also possible with static linking.
Also just learn to use simpler, smaller libraries instead of bolting on streamlined wrappings.
bmarkus:
--- Quote from: curaga on May 04, 2014, 05:06:47 AM ---Nice example to the sizes involved, a hello world in Go is 900kb stripped.
--- End quote ---
Just built a hello word in TC 5.x with Go 1.2.1 Result is 1.8M unstripped, 1.2M stripped
curaga:
I used 1.0.2. Increasing bloat in just two minor versions :P
Navigation
[0] Message Index
[*] Previous page
Go to full version