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
Einzelnachweise
- ↑ Stephen Adams: Smaller is Faster (and Safer Too). In: Chromium Blog. Google, 15. Juni 2009, abgerufen am 19. August 2016 (englisch).