archivemountより速い理由は何ですか?

archivemountより速い理由は何ですか?

私は現在、ArchiveMount300万以上のファイルを含む123,000kbアーカイブをマウントするためにこれを使用しています。設置してから5時間を超えていましたが、まだ終わっていません。

ファイルをマウントするより良い方法はありますか.tar.gz?フォルダにインストールしようとしていますが、解凍するのに時間がかかります。書き込みモードも必要なく、読み取り専用で十分です。

ベストアンサー1

より速い選択肢を書きましたラタマウント、この問題が私を苦しめたのでこれは「私に助けました」。

次のようにインストールして使用できます。

pip3 install --user ratarmount
ratarmount my-huge-tar.tar mount-folder
ls -la mount-folder # will show the contents of the tar top-level

完了したら、FUSEのインストールと同様に削除できます。

fusermount -u mount-folder

archivemountより速い理由は何ですか?

以下は、最初のインストールに必要なメモリ使用量と時間の基準だけでなく、1つの簡単なcat <file-in-tar>コマンドと1つの単純なコマンドへfindのアクセス時間です。

ベンチマーク

それぞれ1,000個のファイルを含むフォルダが作成され、フォルダ数はさまざまです。

左下のパネルには、cat <file>ランダムに選択された10個のファイルの最小および最大測定時間を示すエラーバーが表示されます。

利点

  • ベンチマークには表示されていませんが、Ratarmountは以下を使用してファイルをマウントできます。既存のインデックスサイドカーファイル1秒以内で完了効率が大幅に向上しました。archivemountと比較すると、各後続のインストール
  • Ratarmountが付属しています。進捗インジケータしたがって、ユーザーはアーカイブマウントと比較してフィードバックを受け取らずに数時間待つ必要はありません。
  • ファイルコンテンツのインポートインストールされたアーカイブは通常はるかに早くarchivemountおよびfusion-archiveと比較して、アーカイブのサイズやファイル数によっては拡張されないため、最大約5倍の速度向上が観察されます。
  • インストールする圧縮パッケージ2アーカイブxzアーカイブは効果的に急いでratarmount -P 0これらの圧縮をデコードするために複数のコアを使用するため、ほとんどの最新プロセッサのarchivemountおよびfusion-archiveと比較されます。indexed_bzip2サポートブロックパラレル復号バージョン1.2.0からrapidgzip
  • メモリ消費ラタモンテの成長少ない圧縮しないアーカイブマウントとは異なり、bzip2はファイル名がメモリに保存されず、SQLiteデータベースのディスクに格納されるため、アーカイブのサイズによってはまったく大きくなりません。
    • これアーカイブ照会されるデータがbzip2に必要な2つの64ビットオフセットの2000倍よりも数千倍大きいため、バックエンドはアーカイブサイズに応じて直線的に増加します。これが問題になる場合は、検索ポイント間隔を増やしてポイントの総数を減らすことで、--gzip-seek-point-spacing <spacing in MiB>生成されるデータを減らすことができます。
    • メモリ使用量これが標準ですバックエンドはあまりにも頻繁に開いているので巨大に見えますmmap。メモリ使用量を使用または表示するときに使用されるメモリは、使用されたmmapメモリとしてカウントされません。freehtop
  • 空のファイルの場合、Ratarmountとarchivemountを使用したマウントは、解凍またはI / O帯域幅によって制限されるのではなく、内部ファイルインデックスを生成するために使用されるアルゴリズムによって制限されるようです。

欠点

  • 多くのメタデータを入手してくださいマウントポイントを呼び出してfind表示するアーカイブコンテンツの場合は、サイズ順です。ゆっくりarchivemountと比較すると、主にPythonとPythonの間接アドレス指定によるものです。

より詳細なベンチマークについては、以下をご覧ください。Githubページ

おすすめ記事