Der LZFSE-Komprimierungsalgorithmus wird zu Open Source

Nach dem Start von iOS 9 und OS X 10.11 im letzten Jahr hat Apple einen neuen Komprimierungsalgorithmus unter dem Namen LZFSE eingeführt . Vor einigen Tagen gab Apple bekannt, dass dieses Projekt Open Source für dieses Format wurde und auf anderen Plattformen verfügbar ist.

Dies ist ein anschauliches Beispiel dafür, wie oft es am besten ist, den Quellcode öffentlich verfügbar zu machen, damit die Bibliothek auf andere Betriebssysteme wie Windows oder Android erweitert werden kann.

Was ist der LZFSE-Komprimierungsalgorithmus?

LZFSE ist ein verlustfreier Komprimierungsalgorithmus , der entwickelt wurde, um mit dem aktuellen zlib-Komprimierungsalgorithmus zu konkurrieren oder diesen zu verbessern.

Das Ziel von LZFSE ist es, Komprimierungsverhältnisse zu erreichen, die denen von zlib ähneln (manchmal etwas höher), aber höhere Ausführungsgeschwindigkeiten bieten. Einfach gesagt, LZFSE komprimiert fast das gleiche wie zlib, aber die Komprimierung / Dekomprimierung ist schneller.

Laut Apples eigenen Daten bietet LZFSE zwei- bis dreimal höhere Komprimierungs- / Dekomprimierungsgeschwindigkeiten als zlib. Diese höhere Effizienz ermöglicht es Ihnen, diese Aufgaben in kürzerer Zeit auszuführen und somit den Energieverbrauch zu senken.

Die Buchstaben LZFSE sind die Abkürzung für Lempel-Ziv Finite State Entropy , ein Name, der sich wiederum auf Abraham Lempel und Jacob Ziv bezieht, die Schöpfer des LZ78-Algorithmus.

Die Datenkomprimierung wird in den letzten Jahren immer wichtiger. Vor einigen Monaten hat Google einen weiteren Komprimierungsalgorithmus unter dem Namen Brotli veröffentlicht. Dieser Komprimierungsalgorithmus soll zwar die Datenübertragung aus dem HTTP-Protokoll verbessern.

Wie kompiliere ich LZFSE in Ubuntu?

Wir werden LZFSE auf einem Ubuntu 16.04 x64- Betriebssystem kompilieren und ein kleines Tutorial zu dessen Verwendung zeigen.

Wir müssen eine Zip-Datei während des Kompilierungsprozesses unzip , damit wir den Befehl unzip Verfügung haben. Wenn Sie unzip nicht installiert haben, führen Sie den Befehl apt-get install unzip

Unter den Voraussetzungen benötigen wir auch einige Entwicklertools (GCC und Clang), die wir mit dem folgenden Befehl installieren können:

See also  Zeigen Sie baumförmige Verzeichnisse mit dem Befehl tree unter Linux an

apt-get install build-essential clang

Wir laden den Quellcode mit wget von GitHub herunter und kompilieren dann:

wget https://github.com/lzfse/lzfse/archive/master.zip
unzip master.zip
cd lzfse-master
make install INSTALL_PREFIX=/tmp/lzfse.dst/usr/local

Wenn der Kompilierungsprozess abgeschlossen ist, wird ein neuer build erstellt, der die LZFSE-Binärdatei enthält, die über die Befehlszeile verwendet werden soll.

cd build/bin/

Wir führen LZFS aus, um uns die Hilfe zu zeigen:

./lzfse -h

Usage: ./lzfse -encode|-decode [-i input_file] [-o output_file] [-h] [-v]

Wir sehen, dass die Syntax der Verwendung sehr einfach ist. Wir werden versuchen, zu komprimieren und zu dekomprimieren:

  • Komprimieren Sie mit LZFSE: ./lzfse -encode -i archivo.txt -o archivo_comprimido.lzfse
  • Entpacken Sie mit LZFSE: ./lzfse -decode -i archivo_comprimido.lzfse -o archivo.txt

Wie Sie sehen, ist es sehr einfach zu kompilieren und zu verwenden. Wie bereits erwähnt, ist das Projekt Open Source und auf GitHub verfügbar.

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *