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

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

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

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

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

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster