How to reduce flatpak app size?

Alexander Larsson alexl at redhat.com
Mon Aug 6 08:37:38 UTC 2018


On Thu, Jul 12, 2018 at 9:05 AM, Mike Spadaru <maspadaru at gmail.com> wrote:
> Dear Flatpak community,
>
> I attempted a small experiment to benchmark Snap and Flatpak. On
> Ubuntu 16.04 I picked some apps: Spotify, VSCode, Telegram-Desktop,
> Gimp, Android-Studio. I performed three tests Native (via apt, .deb or
> PPA), Snap and Flatpak. In each test I would read the used disk space,
> install an app, run the app and perform a task (same task in each
> test), then read the used disk space again. Before moving to the next
> test, I uninstalled all the apps and removed any config files created.
>
> The machine uses only one disk partition. I also recorded CPU, RAM and
> Power consumption, but there was no clear difference between the three
> package formats.  My results for the disk usage are shown bellow.
> Values are in mega-bytes:
>
> | App | Native | Snap | Flatpak |
> | Spotify | 240 | 290 | 980 |
> | VSCode | 270 | 220 | 1030 |
> | Telegram | 80 | 100 | 600 |
> | Gimp | 80 | 200 | 450 |
> | Android Studio | 3290 | 3330 | 5930 |

This is not really a fair comparison. You already have basically all
the dependencies of the native packages installed, so installing just
the app is just going to measure the app itself, whereas the flatpak
application will download the dependencies (the runtime) in addition
to the app.
The same happens for snap, i.e. since you're on ubuntu it will already
have installed the ubuntu core snap, so you're not counting that space
against the app.

Also, the values you get seem to imply that you're starting from
scratch downloading the runtimes for each flatpak application, but
most apps share the runtimes so if you were to install all the
flatpaks at the same time the total size would not add up to the sum
of your measured sizes.

A better test of snap/flatpak might be to first remove all of snapd,
including all snaps (thus also the core snap), then measure the free
space, install snapd + al* the above snaps and compare the free size
with before. Then do the same with all flatpaks in one install.
That way you will count shared things only once, and accurately
include the size of the snap base in the comparison.


More information about the Flatpak mailing list