为什么 git for windows 那么慢?

2018 年 8 月 23 日
 ballshapesdsd
以及为啥一定要在 windows 下模拟一个 linux 环境才能用,好奇怪

举个例子,初始化一个仓库,添加 10000 个文件,总共 500M,windows 下 20 分钟,linux 下 8 秒,150 倍的性能差距,惊呆了我
4824 次点击
所在节点    问与答
12 条回复
12101111
2018 年 8 月 23 日
杀毒软件的问题,以及 NTFS 和 ext4 的确性能有差别,mingw 的性能与 WSL 与 Linux 差距几乎没有
flynaj
2018 年 8 月 23 日
这个就是文件系统的差别,还有杀毒软件
yukiww233
2018 年 8 月 23 日
吓得我用一个 1w 文件的仓库试了一下
mikicomo
2018 年 8 月 23 日
啥版本?都是啥文件?见过几分钟的,没见过几十分钟的....孤陋寡闻了
SunnyFeng
2018 年 8 月 23 日
Windows 上使用 gerrit 来 git review 也比 Linux 上慢很多
lmqdlr
2018 年 8 月 23 日
git for windows 还好吧,wsl 是真的慢
congeec
2018 年 8 月 23 日
不仅是文件系统的差别
windows 上创建一个进程很慢的
geelaw
2018 年 8 月 23 日
如果建立 10000 个同样的 52428 B 的文件的话(建立一个然后复制),建立文件需要 40 秒,git add . 需要 1 分钟。

如果建立 10000 个随机的 52428 B 的文件,建立文件需要 8.7 分钟,git add . 需要 1.5 分钟。

以上建立文件是用 PowerShell 操作的。


你可以参考

https://github.com/msysgit/msysgit/wiki/Diagnosing-why-Git-is-so-slow


另外,@congeec #7 这个速度和 Windows 上建立进程的快慢没什么关系,因为 git add . 的过程里并没有创建很多进程(实际上,git add . 期间只有 2 个 git.exe 进程)。
mmdsun
2018 年 8 月 23 日
win 2012 Server 上 git 速度比 centos 快。文件系统是 ReFS
ksharp8
2018 年 8 月 24 日
推荐用 github desktop
gnaggnoyil
2018 年 8 月 24 日
>以及为啥一定要在 windows 下模拟一个 linux 环境才能用

因为 git 源码里就直接假设所操作的 shell 是 POSIX shell,典型例子比如通过 ssh 对 remote 进行操作的时候.command 都写死在源码里的你敢信.
ballshapesdsd
2018 年 8 月 24 日
@gnaggnoyil #11 可以,很社会。


@geelaw #8 在家里电脑测试了一下 5 分钟左右

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/482610

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX