Elfshaker loyihasi ELF fayllari uchun versiyani boshqarish tizimini ishlab chiqmoqda.

Elfshaker loyihasining birinchi versiyasi, ELF bajariladigan fayllardagi o'zgarishlarni kuzatish uchun optimallashtirilgan ikkilik versiyani boshqarish tizimi nashr etildi. Tizim fayllar o'rtasida ikkilik yamoqlarni saqlaydi, kerakli versiyani kalit bilan olish imkonini beradi, bu "git bisect" ishini sezilarli darajada tezlashtiradi va ishlatiladigan disk maydonini sezilarli darajada kamaytiradi. Loyiha kodi Apache-2.0 litsenziyasi ostida tarqatiladi.

Dastur ko'p sonli o'xshash ikkilik fayllarda ikkilik o'zgarishlarni saqlashning yuqori samaradorligi bilan ajralib turadi, masalan, bitta loyihani bosqichma-bosqich qurish paytida olingan. Xususan, Clang kompilyatorining ikki ming qayta qurish natijalari (har bir qayta qurish har bir topshiriqdan keyin o'zgarishlarni aks ettiradi) 100 MB hajmdagi bitta paketli faylda saqlanishi mumkin, bu alohida saqlanganida talab qilinadiganidan 4000 baravar kichikdir. .

Berilgan fayldan istalgan holatni ajratib olish 2-4 soniya davom etadi (git bisecting LLVM kodidan 60 baravar tezroq), bu sizga loyihaning bajariladigan fayllarining kerakli versiyasini manbadan qayta tiklamasdan yoki avval tuzilgan har bir versiyaning nusxasini saqlamasdan tezda chiqarib olish imkonini beradi. bajariladigan.

Manba: opennet.ru

a Izoh qo'shish