5 ms·
How much overhead is that? Also, why would that have much overhead? Things deduplicate in memory.
by staticassertion 7mo ago
How much overhead is that? Also, why would that have much overhead? Things deduplicate in memory.
- rlpb 7mo agoYour apt update would still be huge though. When the dependency changes (eg. a security update) you’d be downloading rebuilds of 20 apps. For the update of a key library, you’d be downloading your entire distribution again. Every time.
- staticassertion 7mo agoOh, well yeah, statically linked binaries have that downside. I guess I don't think that's a big deal, but I could maybe imagine on some devices that are heavily constrained that it could be? IDK. Compression is insanely effective.
- jabl 7mo agoIf Rust and static linking were to become much more popular, Linux distros could adopt some rsync/zsync like binary diff protocol for updates instead of pulling entire packages from scratch.
- staticassertion 7mo agoYeah I'm not really convinced that this matters at all tbh
- rlpb 7mo agoEven then, they would still need to rebuild massive amounts on updates. That is nice in theory, but see the number of bugs reported in Debian because upstream projects fail to rebuild as expected. "I don't have the exact micro version of this dependency I'm expecting" is one common reason, but there are many others. It's a pretty regular thing, and therefore would be burdensome to distro maintainers."
- pjmlp 7mo agoStatic linking used to be popular, as it was the only way of linking in most computer systems, outside expensive hardware like Xerox workstations, Lisp machines, ETHZ, or what have you. One of the very first consumer hardware to support dynamic linking was the Amiga, with its Libraries and DataTypes. We moved away from having a full blown OS done with static linking, with exception of embedded deployments and firmware, for many reasons.
- daurentius523 7mo agoYou are forgetting about elephant in the room - if every bug require rebuild of downstream then it is not only question of constraint it is also question of SSD cycles - you are effectively destroying someone drive faster. And btrfs actually worsens this problem - because instead of one Copy on Write of library you now have 2n copies of library within 2 copies of different apps. Now (reverting/ø) update will cost you even more writes. It is just waste for no apparent reason - less memory, less disk space. "compression is insanely effective" - And what about energy? compression will increase CPU use. It will also make everything slower - slower than just plain deduplication. Also, your reason for using worse for user tech is: the user can mitigate in other ways? This strikes me as the same logic as "we don't need to optimize our program/game, users will just buy better hardware" or just plain throwing cost to user - this is not valid solution just downplaying of the argument.
- staticassertion 7mo agoI basically think that's all much ado about nothing.
- hamandcheese 7mo agoNixOS "suffers" from this. It's really not that bad if you have solid bandwidth. For me it's more than worth the trade off. With a solid connection a major upgrade is still just a couple minutes.
- rlpb 7mo agoA couple of minutes at the moment that is, with dynamic linking everywhere. What will it become when everything is statically linked?
- hamandcheese 7mo agoI think you misunderstand my point. Nix basically forces dynamic linking to be more like static linking. So changing a low level library causes ~everything to redownload.
- pizlonator 7mo agoThey dedup at the page level. This isn’t that kind of duplication.
- staticassertion 7mo agoI thought they were suggesting the stdlib be dynamically linked or something, at which point it would be. But for static linking, no.