O proxecto elfshaker está a desenvolver un sistema de control de versións para ficheiros ELF.

Publicouse a primeira versión do proxecto elfshaker, un sistema de control de versións binario optimizado para rastrexar os cambios nos executables ELF. O sistema almacena parches binarios entre ficheiros, permítelle recuperar a versión desexada por tecla, o que acelera significativamente a operación "git bisect" e reduce moito a cantidade de espazo no disco utilizado. O código do proxecto distribúese baixo a licenza Apache-2.0.

O programa destaca pola súa alta eficiencia para almacenar cambios binarios nun gran número de ficheiros binarios similares, por exemplo, obtidos durante as compilacións incrementais dun proxecto. En particular, os resultados de dúas mil reconstrucións do compilador Clang (cada reconstrución reflicte o cambio despois de cada commit) pódense almacenar nun único ficheiro de paquete de 100 MB de tamaño, que é 4000 veces máis pequeno do que sería necesario se se almacenase por separado. .

Extraer calquera estado dun ficheiro determinado leva entre 2 e 4 segundos (60 veces máis rápido que o código LLVM que divide en bisect por git), o que lle permite extraer rapidamente a versión desexada dos executables dun proxecto sen reconstruír desde a orixe nin almacenar unha copia de cada versión dun ficheiro construído previamente. executable.

Fonte: opennet.ru

Engadir un comentario