View Single Post
Posts: 1,548 | Thanked: 7,510 times | Joined on Apr 2010 @ Czech Republic
#16
Originally Posted by rinigus View Post
So, we get an overhead of loading platform libs to RAM, but we can minimize it by using the same runtime as much as we can.
I can get some background about what I have found so far about the on-disk space using of Flatpaks to complement the data about RAM usage.

For that it's important to note, how Flatpaks & runtimes are actually stored - in a single shared OSTree repo. OSTree provides some key benefits for flatpaks:
  • git like per app & per runtime repo
  • differential updates (only changes from previous version are transferred on update)
  • automatic deduplication of everything in the repo

Especially the last point is pretty important and should be stressed. Thanks to this, you can have say 5 versions of the KDE (or any other) installed, but it will not consume much less than 5 full copies (basically size of all the shared bits + all the individual differences).

The same thing is true for applications - everything is automatically deduplicated against everything else. So if two apps bundle the same thing, say libfoo built the same way, resulting in the same binaries or say some bitmap files - there will always be just a single copy stored for all the apps.

To summarize - thanks to its innovative storage layout even with the need for runtimes when compared to "normal" packages, Flatpak is pretty efficient in both storage of runtimes and apps as well as for runtime and app updates.

Many of these things are simply not possible or pretty hard to do just with regular RPM (easy parallel installation & automatic deduplication).

Also - HUGE thanks to rinigus for working on this - you are really a hero!

I was secretly hoping Jolla would pick this up as the main native app distribution mechanism given that it fixes many many of the problems of the current platform and store (such as the App version and system version of Qt being the same, turning Qt updates into a tricky and ornerous process). But this is also a way.

Fingers crossed that this time they they will give priority to any changes needed in the regular Sailfish OS for full Flatpak support, so that Sailfish OS users on as many devices as possible can use it.
__________________
modRana: a flexible GPS navigation system
Mieru: a flexible manga and comic book reader
Universal Components - a solution for native looking yet component set independent QML appliactions (QtQuick Controls 2 & Silica supported as backends)
 

The Following 13 Users Say Thank You to MartinK For This Useful Post: