Elfshaker projesi, ELF dosyaları için bir sürüm kontrol sistemi geliştiriyor.

ELF yürütülebilir dosyalarındaki değişiklikleri izlemek için optimize edilmiş ikili sürüm kontrol sistemi olan elfshaker projesinin ilk sürümü yayınlandı. Sistem, dosyalar arasında ikili yamaları saklar, istenen sürümü anahtarla almanızı sağlar, bu da "git bisect" işlemini önemli ölçüde hızlandırır ve kullanılan disk alanı miktarını büyük ölçüde azaltır. Proje kodu Apache-2.0 lisansı altında dağıtılmaktadır.

Program, örneğin bir projenin artımlı yapıları sırasında elde edilen çok sayıda benzer ikili dosyadaki ikili değişiklikleri depolamanın yüksek verimliliğiyle dikkat çekiyor. Özellikle, Clang derleyicisinin iki bin yeniden yapılandırmasının sonuçları (her yeniden oluşturma, her işlemden sonraki değişikliği yansıtır), 100 MB boyutunda tek bir paket dosyasında saklanabilir; bu, ayrı olarak depolandığında gerekenden 4000 kat daha küçüktür. .

Belirli bir dosyadan herhangi bir durumu çıkarmak 2-4 saniye sürer (git'in LLVM kodunu ikiye ayırmasından 60 kat daha hızlı), kaynaktan yeniden oluşturmadan veya önceden oluşturulmuş bir sürümün her bir sürümünün bir kopyasını saklamadan, projenin yürütülebilir dosyalarının istenen sürümünü hızlı bir şekilde çıkarmanıza olanak tanır. yürütülebilir.

Kaynak: opennet.ru

Yorum ekle