Elfshaker жобасы ELF файлдары үшін нұсқаларды басқару жүйесін әзірлеуде.

Elfshaker жобасының бірінші шығарылымы, ELF орындалатын файлдарына өзгерістерді бақылау үшін оңтайландырылған екілік нұсқаны басқару жүйесі жарияланды. Жүйе файлдар арасында екілік патчтарды сақтайды, қажетті нұсқаны кілт арқылы шығарып алуға мүмкіндік береді, бұл «git bisect» жұмысын айтарлықтай жылдамдатады және пайдаланылатын дискілік кеңістікті айтарлықтай азайтады. Жоба коды Apache-2.0 лицензиясы бойынша таратылады.

Бағдарлама екілік өзгерістерді көптеген ұқсас екілік файлдарда сақтаудағы жоғары тиімділігімен ерекшеленеді, мысалы, бір жобаның қосымша құрастырулары кезінде алынған. Атап айтқанда, Clang компиляторының екі мың қайта құруының нәтижелері (әрбір қайта құру әр тапсырмадан кейінгі өзгерісті көрсетеді) өлшемі 100 МБ бір бума файлында сақталуы мүмкін, бұл бөлек сақталған жағдайда талап етілетіннен 4000 есе аз. .

Берілген файлдан кез келген күйді шығару 2-4 секундты алады (git bisecting LLVM кодынан 60 есе жылдам), бұл жобаның орындалатын файлдарының қажетті нұсқасын көзден қайта жасамай немесе бұрын жасалған әрбір нұсқасының көшірмесін сақтамай жылдам шығаруға мүмкіндік береді. орындалатын.

Ақпарат көзі: opennet.ru

пікір қалдыру