โครงการ elfshaker กำลังพัฒนาระบบควบคุมเวอร์ชันสำหรับไฟล์ ELF

เปิดตัวครั้งแรกของโปรเจ็กต์ elfshaker ซึ่งเป็นระบบควบคุมเวอร์ชันไบนารีที่ปรับให้เหมาะสมสำหรับการติดตามการเปลี่ยนแปลงในไฟล์ปฏิบัติการของ ELF ได้รับการเผยแพร่แล้ว ระบบจะจัดเก็บแพตช์ไบนารีระหว่างไฟล์ ช่วยให้คุณสามารถดึงเวอร์ชันที่ต้องการด้วยคีย์ ซึ่งช่วยเพิ่มความเร็วในการดำเนินการ "git bisect" ได้อย่างมาก และลดจำนวนพื้นที่ดิสก์ที่ใช้ลงอย่างมาก รหัสโครงการเผยแพร่ภายใต้ลิขสิทธิ์ Apache-2.0

โปรแกรมนี้มีความโดดเด่นในด้านประสิทธิภาพสูงในการจัดเก็บการเปลี่ยนแปลงไบนารี่ในไฟล์ไบนารีที่คล้ายกันจำนวนมาก เช่น ได้รับระหว่างการสร้างส่วนเพิ่มของโปรเจ็กต์หนึ่ง โดยเฉพาะอย่างยิ่ง ผลลัพธ์ของคอมไพเลอร์ Clang ที่สร้างขึ้นใหม่สองพันครั้ง (การสร้างใหม่แต่ละครั้งสะท้อนถึงการเปลี่ยนแปลงหลังจากการคอมมิตแต่ละครั้ง) สามารถจัดเก็บไว้ในไฟล์แพ็กเดียวขนาด 100 MB ซึ่งเล็กกว่าที่จำเป็นถึง 4000 เท่าหากจัดเก็บแยกกัน .

การแยกสถานะใดๆ ออกจากไฟล์ที่กำหนดจะใช้เวลา 2-4 วินาที (เร็วกว่า git การแบ่งส่วนโค้ด LLVM ถึง 60 เท่า) ช่วยให้คุณสามารถแยกเวอร์ชันที่ต้องการของไฟล์ปฏิบัติการของโปรเจ็กต์ได้อย่างรวดเร็วโดยไม่ต้องสร้างใหม่จากแหล่งที่มาหรือจัดเก็บสำเนาของแต่ละเวอร์ชันของไฟล์ที่สร้างไว้ก่อนหน้านี้ ปฏิบัติการได้

ที่มา: opennet.ru

เพิ่มความคิดเห็น