elfshaker プロジェクトは、ELF ファイルのバージョン管理システムを開発しています。

ELF 実行可能ファイルへの変更を追跡するために最適化されたバイナリ バージョン管理システムである elfshaker プロジェクトの最初のリリースが公開されました。 システムはファイル間にバイナリ パッチを保存し、キーによって目的のバージョンを取得できるようにします。これにより、「git bisect」操作が大幅に高速化され、使用されるディスク領域の量が大幅に削減されます。 プロジェクト コードは、Apache-2.0 ライセンスに基づいて配布されます。

このプログラムは、たとえば、100 つのプロジェクトの増分ビルド中に取得されたバイナリ変更を、多数の同様のバイナリ ファイルに保存する際の効率の高さで注目に値します。 特に、Clang コンパイラの 4000 回のリビルドの結果 (各リビルドは各コミット後の変更を反映します) は、サイズ XNUMX MB の単一のパック ファイルに保存できます。これは、個別に保存した場合に必要なファイルより XNUMX 分の XNUMX です。 。

特定のファイルから状態を抽出するには 2 ~ 4 秒かかります (git で LLVM コードを二分するより 60 倍高速です)。これにより、ソースから再構築したり、以前にビルドしたバージョンの各バージョンのコピーを保存したりせずに、プロジェクトの実行可能ファイルの目的のバージョンを迅速に抽出できます。実行可能。

出所: オープンネット.ru

コメントを追加します