Foi publicado o primeiro lançamento do projeto elfshaker, que desenvolve um sistema de controle de versões para arquivos binários, otimizado para rastrear alterações em arquivos executáveis no formato ELF. O sistema armazena patches binários entre os arquivos, permitindo a extração da versão desejada por chave, o que acelera significativamente a operação "git bisect" e reduz consideravelmente o espaço em disco utilizado. O código do projeto é distribuído sob a licença Apache-2.0.
O programa se destaca pela alta eficiência no armazenamento de alterações binárias em um grande número de arquivos binários semelhantes, como aqueles gerados durante compilação incremental de um único projeto. Em particular, os resultados de duas mil recompilações do compilador Clang (cada recompilação reflete uma alteração após cada commit) podem ser armazenados em um único arquivo pack de 100 MB, o que é 4000 vezes menor do que seria necessário se armazenados separadamente.
A extração de qualquer estado deste arquivo leva de 2 a 4 segundos (60 vezes mais rápido do que a operação "git bisect" sobre o código LLVM), permitindo a rápida extração da versão desejada dos arquivos executáveis do projeto sem recompilação a partir dos códigos fonte ou armazenamento de uma cópia de cada versão anteriormente compilada do arquivo executável.
Fonte: opennet.ru
