大きなファイルでgitが遅いのはなぜですか?


8

私はgitを使用して写真を管理しようとしました(バックアップ/スナップショットの作成)。ライブラリ全体は数GBです。ほとんどのファイルは2〜3MのJPGです。ファイルをリポジトリに追加していたとき、数日かかっているようでした。CPU使用率は常に100%近くでした。

大きなファイルでgitが遅くなる理由はありますか?

PS私はgitがこれのために設計されていなかったことを知っています。

回答:


7

Gitはデフォルトでファイルを圧縮します。デフォルトのJPEGはすでに圧縮されています。それが大きなファイルであるということではなく、圧縮ファイルであるということです。

gitリポジトリにZIPファイルを追加すると、同じ効果が得られます。

編集:/programming/7102053/git-pull-without-remotely-compressing-objectsに、圧縮に関する興味深いスレッドがあります


1
ファイルを圧縮しないようにgitに指示するにはどうすればよいですか?スペース効率は必ずしも必要ではありません。できるだけ速くしたいです。ありがとう!
woodings 2012年

2
およびgit configを含めcore.compression、で操作できるスイッチのホストが多数ありますpack.window。私が実際にgitを圧縮なしで実行しようとしたことがないので、YMMVを見てください。私たち全員があなたの経験から学ぶのを助けるために、あなたが発見したものを投稿してください。

@エロエン、あなたは良いポイントを作る。私はあなたのコメントに投票しました。

2
Gitはまた、使用するたびにすべてのファイルのsha1ハッシュを作成(およびチェック)します。これは、大きなファイルの場合にも時間がかかる可能性があります。
エロエン2012年

3
@RandolphWest:良いですが、間違っています。zlib圧縮はでオフにできます$ git set core.compression 0。sha1は1秒あたり数十MiBですが、メモリ不足の状態に悪影響を与える可能性があります。
エロエン2012年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.