Проектът elfshaker разработва система за контрол на версиите за ELF файлове

Публикувано е първото издание на проекта elfshaker, двоична система за контрол на версиите, оптимизирана за проследяване на промените в изпълнимите файлове на ELF. Системата съхранява двоични пачове между файловете, позволява ви да извличате желаната версия по ключ, което значително ускорява операцията „git bisect“ и значително намалява количеството използвано дисково пространство. Кодът на проекта се разпространява под лиценз Apache-2.0.

Програмата се отличава с високата си ефективност при съхраняване на двоични промени в голям брой подобни двоични файлове, например получени по време на инкрементални компилации на един проект. По-специално, резултатите от две хиляди реконструкции на компилатора Clang (всяка реконструкция отразява промяната след всеки комит) могат да бъдат съхранени в един пакетен файл с размер 100 MB, което е 4000 пъти по-малко от това, което би било необходимо, ако се съхранява отделно .

Извличането на което и да е състояние от даден файл отнема 2-4 секунди (60 пъти по-бързо от git разполовяване на LLVM код), което ви позволява бързо да извлечете желаната версия на изпълними файлове на проект, без да създавате отново от източника или да съхранявате копие на всяка версия на предишно създаден изпълним файл.

Източник: opennet.ru

Добавяне на нов коментар