پروژه elfshaker در حال توسعه یک سیستم کنترل نسخه برای فایل های ELF است.

اولین نسخه از پروژه elfshaker، یک سیستم کنترل نسخه باینری بهینه شده برای ردیابی تغییرات در فایل های اجرایی ELF، منتشر شده است. این سیستم وصله‌های باینری را بین فایل‌ها ذخیره می‌کند، به شما امکان می‌دهد نسخه مورد نظر را با کلید بازیابی کنید، که به طور قابل توجهی سرعت عملیات "git bisect" را افزایش می‌دهد و میزان فضای دیسک مورد استفاده را تا حد زیادی کاهش می‌دهد. کد پروژه تحت مجوز Apache-2.0 توزیع شده است.

این برنامه به دلیل کارایی بالای خود در ذخیره سازی تغییرات باینری در تعداد زیادی از فایل های باینری مشابه، به عنوان مثال، در طول ساخت های افزایشی یک پروژه، قابل توجه است. به طور خاص، نتایج دو هزار بازسازی کامپایلر Clang (هر بازسازی نشان دهنده تغییر پس از هر commit است) را می توان در یک فایل بسته تکی با حجم 100 مگابایت ذخیره کرد، که 4000 برابر کوچکتر از آنچه که در صورت ذخیره جداگانه لازم است ذخیره می شود. .

استخراج هر حالت از یک فایل معین 2 تا 4 ثانیه طول می کشد (60 برابر سریعتر از کد LLVM نصف کننده git)، به شما امکان می دهد نسخه مورد نظر فایل های اجرایی پروژه را بدون بازسازی از منبع یا ذخیره یک کپی از هر نسخه از یک نسخه قبلی استخراج کنید. قابل اجرا

منبع: opennet.ru

اضافه کردن نظر