De eerste release van het elfshaker-project is gepubliceerd. Het ontwikkelt een versiebeheersysteem voor binaire bestanden, geoptimaliseerd voor het bijhouden van wijzigingen in uitvoerbare bestanden in ELF-formaat. Het systeem slaat binaire patches op tussen bestanden en maakt het mogelijk om de gewenste versie per sleutel te extraheren, wat de uitvoering van de "git bisect"-bewerking aanzienlijk versnelt en de gebruikte schijfruimte aanzienlijk vermindert. De projectcode wordt gedistribueerd onder de Apache 2.0-licentie.
Het programma staat bekend om zijn hoge efficiëntie bij het opslaan van binaire wijzigingen in een groot aantal vergelijkbare binaire bestanden, zoals die welke zijn verkregen tijdens incrementele builds van één project. Met name de resultaten van tweeduizend builds van de Clang-compiler (elke build weerspiegelt de wijziging na elke commit) kunnen worden opgeslagen in één pakketbestand van 100 MB, wat 4000 keer kleiner is dan nodig zou zijn voor aparte opslag.
Het extraheren van een status uit dit bestand duurt 2-4 seconden (60 keer sneller dan het uitvoeren van "git bisect" op LLVM-code). Hierdoor kunt u snel de gewenste versie van de uitvoerbare bestanden van uw project extraheren zonder dat u het project opnieuw hoeft te bouwen vanaf de bron of een kopie van elke versie van een eerder gebouwd uitvoerbaar bestand hoeft op te slaan.
Bron: opennet.ru
