Elfshakeri projekt arendab ELF-failide versioonikontrollisüsteemi.

Avaldatud on elfshakeri projekti esimene väljaanne, binaarne versioonihaldussüsteem, mis on optimeeritud ELF-i käivitatavate failide muudatuste jälgimiseks. Süsteem salvestab failide vahel binaarplaastrid, võimaldab teil soovitud versiooni võtmega alla laadida, mis kiirendab oluliselt "git bisect" toimingut ja vähendab oluliselt kasutatava kettaruumi hulka. Projekti koodi levitatakse Apache-2.0 litsentsi all.

Programm on tähelepanuväärne oma suure tõhususega binaarsete muudatuste salvestamisel paljudes sarnastes binaarfailides, mis on saadud näiteks ühe projekti järkjärgulise ehitamise käigus. Eelkõige saab Clangi kompilaatori kahe tuhande ümberehituse tulemused (iga ümberehitus peegeldab iga sissekandejärgset muudatust) salvestada ühte 100 MB suurusesse pakettfaili, mis on 4000 korda väiksem kui see, mis oleks vajalik eraldi salvestamisel. .

Mis tahes oleku eraldamine antud failist võtab aega 2–4 ​​sekundit (60 korda kiirem kui git poolitav LLVM-kood), mis võimaldab teil kiiresti ekstraktida soovitud versiooni projekti käivitatavatest failidest ilma allikast uuesti üles ehitamata või eelnevalt ehitatud versiooni iga versiooni koopiat salvestamata. käivitatav.

Allikas: opennet.ru

Lisa kommentaar