Google will mit Snappy schneller komprimieren

Die in C++ geschriebene Bibliothek zur De-/Komprimierung wurde bisher intern bei Googles BigTable- und MapReduce-Implementierung eingesetzt und ist nun als Open Source verfügbar.

In Pocket speichern vorlesen Druckansicht 73 Kommentare lesen
Lesezeit: 1 Min.
Von
  • Alexander Neumann

Der Internet-Konzern Google hat mit Snappy eine Komprimierungs- und Dekomprimierungsbibliothek als Open-Source-Software unter der Apache-Lizenz veröffentlicht. Die zuvor unter dem Namen Zippy laufende und ausschließlich in C++ geschriebene Bibliothek wurde bisher intern bei Googles BigTable- und MapReduce-Implementierung eingesetzt. Dabei geht es vor allem um die Geschwindigkeit der Komprimierung; der Komprimierungsgrad beträgt offenbar nur die Hälfte anderer Programme wie etwa zlib.

Auf einem 2,26-GHz-Rechner mit Intels Core-i7-Mikroprozessoren haben Benchmarks ergeben, dass sich rund 250 MByte pro Sekunde komprimieren und etwa 500 MByte pro Sekunde dekomprimieren lassen. Das sei laut Chefentwickler Steinar H. Gunderson zehnmal schneller als bei zlib, allerdings gehe die Geschwindigkeit zu Lasten der Komprimierqualität. Den Geschwindigkeitsvorteil erreicht Snappy, indem es auf die Entropiekodierung anderer Bibliotheken verzichtet und ein eigenes Paketierungsformat verwendet. Dieses benötigt weniger Prozessorleistung.

Anwendungsszenarien sieht Gunderson bei Programmen, bei denen oft und viel komprimiert oder dekomprimiert werden müsse. Möchte man hingegen Speicherplatz sparen, nur einmal komprimieren und den Schwerpunkt allein auf die Dekomprimierung setzen, sei man besser bei zlib, bzip oder ähnlichen Bibliotheken aufgehoben. Googles De-/Komprimierungsbibliothek hat ihre Heimat auf Google Code und ist bislang vor allem auf 64-Bit-Systeme spezialisiert. (ane)