El proyecto elfshaker está desarrollando un sistema de control de versiones para archivos ELF.

Se ha publicado la primera versión del proyecto elfshaker, un sistema de control de versiones binarias optimizado para rastrear cambios en ejecutables ELF. El sistema almacena parches binarios entre archivos, le permite recuperar la versión deseada por clave, lo que acelera significativamente la operación "git bisect" y reduce en gran medida la cantidad de espacio en disco utilizado. El código del proyecto se distribuye bajo la licencia Apache-2.0.

El programa destaca por su alta eficiencia a la hora de almacenar cambios binarios en una gran cantidad de archivos binarios similares, por ejemplo, obtenidos durante las compilaciones incrementales de un proyecto. En particular, los resultados de dos mil reconstrucciones del compilador Clang (cada reconstrucción refleja el cambio después de cada confirmación) se pueden almacenar en un único archivo de paquete de 100 MB de tamaño, que es 4000 veces más pequeño de lo que se necesitaría si se almacenara por separado. .

Extraer cualquier estado de un archivo determinado tarda entre 2 y 4 segundos (60 veces más rápido que git que divide el código LLVM), lo que le permite extraer rápidamente la versión deseada de los ejecutables de un proyecto sin reconstruir desde el código fuente ni almacenar una copia de cada versión de un archivo creado previamente. ejecutable.

Fuente: opennet.ru

Añadir un comentario