Courgette

Courgette (französisch für Zucchini) ist ein Datenkompressionssystem für ausführbare Dateien. Es wurde von Google Inc. zur Reduzierung der auszuliefernden Datenmenge bei Softwareaktualisierungen für seinen Browser Chrome entwickelt.[1] Die Referenzimplementierung ist als Teil des Chromium-Projektes, das die Grundlage für Chrome darstellt, als freie Software unter BSD-Lizenz veröffentlicht.

Courgette nutzt das Datenkompressionsverfahren der Delta-Kodierung mittels Colin Percivals bsdiff, um nur noch die Differenz zwischen zwei ausführbaren Dateien zur Ausgangsdatei in Form von Patches speichern bzw. übertragen zu müssen. Vor der Anwendung von bsdiff wird der Maschinencode transformiert, indem unter anderem mittels eines Disassemblers enthaltene Querverweise extrahiert werden. Dies steigert die Kompressionseffizienz um ein Vielfaches.

Dieser Abschnitt ist nicht hinreichend mit Belegen (beispielsweise Einzelnachweisen) ausgestattet. Angaben ohne ausreichenden Beleg könnten demnächst entfernt werden. Bitte hilf Wikipedia, indem du die Angaben recherchierst und gute Belege einfügst.

Das System kann bislang nur ausführbare Dateien im PE-Format (für Win32- sowie Win64) und ELF für die ARM- oder x86-Architektur verarbeiten. Die Patches werden mit LZMA aus Igor Pavlovs 7-Zip komprimiert.

Weblinks

  • Offizielle Website (englisch)
  • Offizielle Webseite von bsdiff und bspatch (englisch)

Einzelnachweise

  1. Stephen Adams: Smaller is Faster (and Safer Too). In: Chromium Blog. Google, 15. Juni 2009, abgerufen am 19. August 2016 (englisch).