我花了很长时间试图找出这个难题。当涉及到Cygwin缓慢时,我已经排除了通常的怀疑。我有两个不同的Cygwin装置,它们的性能截然不同。下面将其量化为“前叉性能”以及执行git difftool
操作的时间。
有人可以建议我接下来看什么吗?快速的cygwin安装非常有用,但是我现在需要一些最新的软件包,并且任何安装尝试,例如python 3.x都会导致整个安装升级(并因此降低了:()的速度。>
+---------------------------+----------------+-----------------+----------------------+
| Desc | Version1(Fast) | Version2(Slow) | Git Bash for Windows |
+---------------------------+----------------+-----------------+----------------------+
| git difftool (System CPU) | 15% | 69% | |
| git difftool (Total Time) | 3.284s | 10.549s | 0.46s |
| fork performance | ~15 | ~10 | ~22 (!!) |
+---------------------------+----------------+-----------------+----------------------+
版本1 (以下称为“ V1” ):这是Babun Cygwin v 1.2.0(最新的稳定版本)。请注意,babun本身已被废弃,因此此版本的Cygwin(64位)已过时。
版本2 (以下称为“ V2” ):这是许多不同的事情:
问题在于,对于git操作,Version1至少快3倍,并且比同一台计算机上的Version2 快50%。我已经看过SO和其他地方的“ Slow Cygwin”帖子,实际上我可以找到任何东西。这包括:
CYGWIN=detect_bloda
打开cygwin,这丝毫没有令人惊讶。在此之前很早就发现ConEmuHK注入是一个问题,我已经另外,为了排除所有类似的测试,所有这些测试都使用了核心Shell可执行文件(zsh.exe)或使用mintty.exe而没有像Conemu这样的顶部封装程序完成。我的PATH很小。路径上没有什么是网络共享
/usr/local/bin
/usr/local/sbin
/usr/bin
/cygdrive/c/WINDOWS/system32
/cygdrive/c/WINDOWS
/cygdrive/c/WINDOWS/System32/Wbem```
通过创建静态/etc/passwd
和/etc/group
并配置/etc/nsswitch.conf
来解决LDAP问题,如下所示:
有关性能差异的详细信息如下。
? babun --version
babun version 1.2.0
Created and maintained by Tom Bujok (@tombujok)
Copyright (c) 2014-2015.
~
? while (true); do date --utc; done | uniq -c
11 Tue, Apr 16, 2019 8:16:43 AM
13 Tue, Apr 16, 2019 8:16:44 AM
13 Tue, Apr 16, 2019 8:16:45 AM
14 Tue, Apr 16, 2019 8:16:46 AM
14 Tue, Apr 16, 2019 8:16:47 AM
15 Tue, Apr 16, 2019 8:16:48 AM
14 Tue, Apr 16, 2019 8:16:49 AM
13 Tue, Apr 16, 2019 8:16:50 AM
14 Tue, Apr 16, 2019 8:16:51 AM
13 Tue, Apr 16, 2019 8:16:52 AM
13 Tue, Apr 16, 2019 8:16:53 AM
12 Tue, Apr 16, 2019 8:16:54 AM
14 Tue, Apr 16, 2019 8:16:55 AM
13 Tue, Apr 16, 2019 8:16:56 AM
14 Tue, Apr 16, 2019 8:16:57 AM
❯ time git -C ~/some-git-repo difftool "HEAD~^\!"
0.10s user 0.40s system 15% cpu 3.284 total
截至本文发布时,最新的Cygwin 64位
❯ time git -C ~/some-git-repo difftool "HEAD~^\!"
0.14s user 7.17s system 69% cpu 10.549 total
? while (true); do date --utc; done | uniq -c
4 Tue, Apr 16, 2019 8:21:25 AM
10 Tue, Apr 16, 2019 8:21:26 AM
9 Tue, Apr 16, 2019 8:21:27 AM
10 Tue, Apr 16, 2019 8:21:28 AM
10 Tue, Apr 16, 2019 8:21:29 AM
10 Tue, Apr 16, 2019 8:21:30 AM
10 Tue, Apr 16, 2019 8:21:31 AM
10 Tue, Apr 16, 2019 8:21:32 AM
10 Tue, Apr 16, 2019 8:21:33 AM
10 Tue, Apr 16, 2019 8:21:34 AM
9 Tue, Apr 16, 2019 8:21:35 AM
10 Tue, Apr 16, 2019 8:21:36 AM