gpt4 book ai didi

egit - 如何为大型存储库调整 EGit?

转载 作者:行者123 更新时间:2023-12-04 08:10:29 25 4
gpt4 key购买 nike

问题:

我发现 EGit 很棒并且大量使用它,但它可能非常慢。如果需要几分钟才能完成 C 版本的 git (Cgit) 在不到几秒钟的时间内完成的操作,这可能会令人沮丧。

所有操作都比 Cgit 慢得多。例如,与近乎瞬间相比,切换分支需要 10 秒的时间。与不到几秒钟相比,rebase 可能需要几分钟。

一些细节:

历史记录大小:10114 次提交,报告为:git rev-list HEAD --count
当前工作目录大小:63.7 MB

当前 .git 大小:77.4 MB

最大文件大小:4.0 MB

操作系统:Linux - CentOS 5.5

文件系统:ext3

JVM:Oracle - Java(TM) SE 运行时环境(构建 1.7.0_21-b11)

EGit 和 JGit 版本:3.0.0.201306101825-r

我之前运行的是 2.3,但升级后没有发现性能有任何变化。

合适的窗口缓存设置是否有帮助:

我在 JGit 的 bugzilla here 中发现了以下引用:

...EGit had to expose UI to allow users to configure it when working on bigger repositories.



这听起来很适合我的情况。所以我环顾四周,在 eclipse 下 Window -> Preferences -> Team -> Git发现这些 Git Window Cache 设置:

EGit Window Cache Settings

但是我该如何使用它们呢?

不同的控件实际上有什么作用?有没有人成功地通过使用 EGit 来提高响应速度?

最佳答案

建议
Matthias Sohn suggested ,Window 缓存限制似乎是这些参数中最重要的。
对我来说,将其从“10 m”增加到“500 m”对 egit 的响应速度产生了巨大的影响。
每个参数的详细信息
来自 WindowCacheConfig.java 的源代码† :
window 尺寸

packedGitWindowSize: size in bytes of a single window mapped or read in from the pack file


默认值:8 k
窗口缓存限制

packedGitLimit: maximum number bytes of heap memory to dedicate to caching pack file data.


默认值:10 m
Delta 基本缓存限制

deltaBaseCacheLimit: maximum number of bytes to cache in delta base cache for inflated, recently accessed objects, without delta chains.


默认值:10 m
流文件阈值

streamFileThreshold: the size threshold beyond which objects must be streamed.

Objects smaller than this size can be obtained as a contiguous byte array, while objects bigger than this size require using anObjectStream.


默认值:50 m
使用虚拟内存映射

packedGitMMAP: true enables use of Java NIO virtual memory mapping for windows; false reads entire window into a byte[] with standard read calls.


默认值:未选中
未显示在首选项页面上

packedGitOpenFiles: maximum number of streams to open at a time. Open packs count against the process limits.


默认值:128

† 谢谢 Jens Theeß他们对 Matthias Sohn's answer 的评论包含指向源代码的指针。

关于egit - 如何为大型存储库调整 EGit?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18221987/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com