3 ms·
Shared libraries are still very important for memory efficiency on mobile systems and in other constrained environments. Android could not work as it does today
by quotemstr 6y ago
Shared libraries are still very important for memory efficiency on mobile systems and in other constrained environments. Android could not work as it does today without the memory savings that sharing libraries gives us. Megabytes matter when you're talking about a device with only a few gigabytes of memory and a hundred processes that all need to run some bit of code or other.
It's important to avoid equating "Linux" with "{Desktop,Server} {Ubuntu,Debian,Fedora,SUSE}". There's an entire universe of Linux-using systems out there that have operating constraints very different from your typical anonymous cloud server machine.
- alerighi 6y agoA modern smartphone has more RAM than most computer that people use to do actual work. I mean I see around a lot of people that uses computers with 4Gb of RAM, and the standard nowadays is 8Gb for Android phones. Even with disk space, nowadays a smartphone typically has 128Gb of rather fast SSD, a lot of people still uses computer with spinning disks. Also are shared libraries all that used in Android? The part of the system that is written in native code is very small, it probably doesn't make all that sense to use shared libraries for that.
- quotemstr 6y agoSmartphone memory is used for lots of things, e.g. modem carve-outs, graphics buffers, and page cache. The fraction left over for actual code is pretty small, especially on the smaller devices common in the developing world. Shared libraries are essential for using this memory efficiently.