Login
Newsletter
Werbung

Do, 18. April 2019, 12:05

Software

Zstandard 1.4 erschienen

Die Kompressionsbibliothek Zstandard ist in Version 1.4 erschienen, die auf der schnellsten Kompressionsstufe noch einmal bis zu 8 Prozent schneller wurde. Die weiteren Neuerungen der neuen Version bestehen in Verbesserungen der Programmierschnittstellen.

Mirko Lindner

Das von Entwicklern bei Facebook entworfene Zstandard ist ein Echtzeit-Kompressionsalgorithmus, der eine hohe Kompressionsrate ermöglicht. Die Wahl zwischen Kompressionsrate und Geschwindigkeit ist in weiten Grenzen einstellbar, und die Dekompression ist in jedem Fall sehr schnell. Der Algorithmus bietet auch einen speziellen Modus für kleine Daten. Zstandard ist bei besserer Kompression um ein Mehrfaches schneller als Zlib. Zwar wird Zstandard in der Geschwindigkeit von anderen Algorithmen noch übertroffen, aber unter den schnelleren Algorithmen kann es die höchste Kompressionsrate erzielen.

Zstandard kann als Bibliothek in alle Anwendungen eingebunden werden, die Kompression verwenden, häufig ist es eine Option bei der Dateisystemkompression. Es kann auch eigenständig als Kommandozeilenprogramm zstd genutzt werden, und steht unter der Dreiklausel-BSD-Lizenz.

Die neue Version 1.4 wurde weiter optimiert, so dass im schnellsten Kompressionsmodus, der dementsprechend auch die geringste Kompression liefert, zstd um 8 Prozent schneller wurde, während die Geschwindigkeit der Dekompression annähernd gleich blieb. Gemessen auf einem System mit Intel i9-9900K-Prozessor werden bei der Kompression rund 530 MB/s erreicht, bei der Dekompression 1346 MB/s. GCC erzeugte in dem Benchmark besseren Code als Clang; bei der Kompression war das mit GCC compilierte Programm geringfügig schneller, bei der Dekompression dagegen deutlich (1346 gegenüber 1216 MB/s). Darüber hinaus wurde die Kompressionsrate um 0,2 Prozent gesteigert.

Die eigentlich größte Neuerung in Zstandard 1.4 ist dagegen die Stabilisierung der fortgeschrittenen Programmierschnittstelle. Diese ermöglicht es, spezifische Parameter während der Kompression und Dekompression zu setzen. Dabei wurde die Kompatibilität mit den bisherigen Schnittstellen gewahrt. Eine weitere Neuerung ist die noch experimentelle Funktion ZSTD_decompressBound, die eine Grenze für die Größe eines Rahmens beim Dekomprimieren setzt. Außerdem kann die Literal-Kompression mit einem neuen Parameter und einer entsprechenden Kommandozeilenoption --[no-]compress-literals explizit kontrolliert werden. Durch das Abschalten wird die Geschwindigkeit gesteigert, was allerdings die Kompressionsrate etwas senkt.

Werbung
Kommentare (Insgesamt: 5 || Alle anzeigen )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung