Die erste Veröffentlichung des elfshaker-Projekts wurde veröffentlicht, das ein Versionsverwaltungssystem fĂŒr BinĂ€rdateien entwickelt, das fĂŒr die Nachverfolgung von Ănderungen in ausfĂŒhrbaren Dateien im ELF-Format optimiert ist. Das System speichert binĂ€re Patches zwischen Dateien, ermöglicht das Extrahieren der benötigten Version anhand eines SchlĂŒssels, was die AusfĂŒhrung des âgit bisectâ-Befehls erheblich beschleunigt und den benötigten Speicherplatz drastisch reduziert. Der Code des Projekts wird unter der Lizenz Apache-2.0 verbreitet.
Das Programm zeichnet sich durch hohe Effizienz bei der Speicherung binĂ€rer Ănderungen in einer Vielzahl Ă€hnlicher BinĂ€rdateien aus, die beispielsweise im Zuge inkrementeller Builds eines Projekts entstehen. Insbesondere können die Ergebnisse von zweitausend Neuerstellungen des Clang-Compilers (jede Neuerstellung spiegelt eine Ănderung nach jedem Commit wider) in einer einzigen Pack-Datei gespeichert werden, die 100 MB groĂ ist â das ist 4000-mal weniger, als es bei der getrennten Speicherung erforderlich wĂ€re.
Das Extrahieren eines beliebigen Zustands aus dieser Datei dauert 2-4 Sekunden (60-mal schneller als der âgit bisectâ-Befehl bei LLVM-Code), was es ermöglicht, die benötigte Version der ausfĂŒhrbaren Dateien des Projekts schnell zu extrahieren, ohne dass die Quelltexte erneut kompiliert werden mĂŒssen oder eine Kopie jeder zuvor erstellten Version der ausfĂŒhrbaren Datei gespeichert werden muss.
Quelle: opennet.ru
