Elfshaker-projekti kehittää versionhallintajärjestelmää ELF-tiedostoille.

Ensimmäinen julkaisu elfshaker-projektista, binääriversionhallintajärjestelmästä, joka on optimoitu seuraamaan muutoksia ELF:n suoritettaviin tiedostoihin, on julkaistu. Järjestelmä tallentaa tiedostojen väliin binäärikorjauksia, mahdollistaa halutun version hakemisen avaimella, mikä nopeuttaa merkittävästi "git bisect" -toimintoa ja vähentää huomattavasti käytetyn levytilan määrää. Projektikoodia jaetaan Apache-2.0-lisenssillä.

Ohjelma on merkittävä sen korkean tehokkuuden ansiosta binäärimuutosten tallentamisessa suureen määrään samankaltaisia ​​binääritiedostoja, jotka on saatu esimerkiksi yhden projektin inkrementaalisten koontiversioiden aikana. Erityisesti Clang-kääntäjän kahden tuhannen käännöksen tulokset (jokainen uusinta heijastaa muutosta jokaisen toimituksen jälkeen) voidaan tallentaa yhteen 100 Mt:n pakettitiedostoon, joka on 4000 kertaa pienempi kuin mitä vaadittaisiin, jos tallennettaisiin erikseen. .

Minkä tahansa tilan purkaminen tietystä tiedostosta kestää 2–4 sekuntia (60 kertaa nopeampi kuin git-puolijakoinen LLVM-koodi), jolloin voit nopeasti purkaa halutun version projektin suoritettavista tiedostoista ilman, että sinun tarvitsee rakentaa uudelleen lähdettä tai tallentaa kopiota jokaisesta aiemmin rakennetun version versiosta. suoritettava.

Lähde: opennet.ru

Lisää kommentti