git和打包与松散的文件

时间:2015-09-23 07:22:12

标签: windows git

我能找到的大部分指导都说Git更喜欢通过将松散的文件组合到"包"来提高性能,默认情况下它们的大小不受限制。这确实提高了磁盘使用率(因为包允许类似对象之间的增量压缩),但我并不完全相信性能

我有一个相对较大的存储库(800k对象)。 Git的默认行为似乎更喜欢将所有这些对象打包成一个6GB的文件。但是在这种状态下,某些工具在处理存储库时遇到问题,因为他们一直在尝试对整个6GB文件进行内存映射。这在某些想要浏览历史记录时尤为明显(例如,显示日志中有一些额外的细节,尽管git log本身似乎并未受到影响)。我还看到一些讨论,其中大包会导致读取/推送操作出现问题,因为一端完全抖动或内存耗尽。

作为一项实验,我尝试将所有内容解压缩为单独的松散文件。尺寸已经增长(达到10GB),但到目前为止我所尝试的一切都非常快。

所有Git的选项和auto-gc行为似乎都反对拥有大量松散文件,但据我所知,这是性能的最佳状态(只是不用于磁盘使用)。任何人都可以解释这种差异吗?

0 个答案:

没有答案