Snaps starten jetzt schneller

Mi, 28. Oktober 2020, Ralf Hersel

Sicherheit und Geschwindigkeit sind oft Konzepte, die sich gegenseitig ausschliessen. Idealerweise schafft man es, beide Ziele zu vereinen: eine Software, die keine Kompromisse zwischen robusten, soliden Sicherheitsgrundlagen auf der einen Seite und einer schnellen Interaktion auf der anderen Seite bietet. Snaps sind in sich geschlossene Anwendungen mit mehrschichtiger Sicherheit, deren Startverhalten als langsamer empfunden wird im Vergleich zu den gleichen Anwendungen, die über traditionelle Linux-Paketierungsmechanismen angeboten werden. Die Ubuntu-Entwickler sind sich dessen bewusst, und konnten die Startgeschwindigkeit von Snaps im letzten Jahr die Optimierung des Fontconfig-Cache erhöhen. Nun wurde ein weiterer Meilenstein erreicht, der durch die Verwendung eines neuen Kompressionsalgorithmus für Snaps eine 2-3 fache Verbesserung der Anwendungsstartzeiten schafft.

Standardmässig werden Snaps als ein komprimiertes, schreibgeschütztes Squashfs-Dateisystem unter Verwendung des XZ-Algorithmus gepackt. Dies führt zu einem hohen Komprimierungsgrad, erfordert aber folglich mehr Verarbeitungsleistung, um das Dateisystem für die Verwendung zu dekomprimieren und zu erweitern. Auf den Desktops können die Benutzer dies als "Langsamkeit" wahrnehmen - die Zeit, die es dauert, bis die Anwendung startet. Dies macht sich auch viel stärker beim ersten Start bemerkbar, bevor die Anwendungsdaten im Speicher zwischengespeichert werden. Nachfolgende Starts sind schnell und in der Regel gibt es kaum bis gar keinen Unterschied zu traditionell gepackten Anwendungen.

Um die Startzeiten zu verbessern, haben die Ubuntu-Entwickler beschlossen, einen anderen Algorithmus - LZO - zu testen, der eine geringere Komprimierung bietet, aber weniger Rechenleistung benötigt, um die Aktion abzuschliessen. Als Testfall wählten sie den Browser Chromium. Sie nehmen an, dass dies aus mehreren Gründen eine repräsentativer Fall ist. Erstens ist der Browser eine allgegenwärtige (und beliebte) Anwendung, die häufig verwendet wird, so dass eine mögliche Verlangsamung wahrscheinlich bemerkbar ist. Zweitens: Chrome ist eine relativ grosse und komplexe Anwendung. Drittens ist es nicht Teil einer spezifischen Linux-Desktop-Umgebung, was die Tests unabhängig und genau macht.

Zum Vergleich:

  • XZ-komprimiertes Snap: ~150 MB
  • LZO-komprimiertes Snap: ~250 MB

Die Testergebnisse (siehe Screenshot) zeigten im Schnitt ein zwei- bis dreimal schnelleres Startverhalten beim Erststart und sehr ähnliche Zeiten wie bei herkömmlicher Paketierung beim erneuten Start.

Quelle: https://ubuntu.com//blog/snap-speed-improvements-with-new-compression-algorithm