# Cygwin Git Performance

3 messages from 2019-05-21 to 2019-05-21. Participants: Nathan and Ila Reynolds, Adam Dinwoodie, Jeff Hostetler.
Thread: https://gitlist.dev/t/51142

## Nathan and Ila Reynolds, 2019-05-21 14:34

Subject: Cygwin Git Performance
Message-ID: <01cf52cb-7e90-efde-a06c-f0413f9efc8a@gmail.com>
URL: https://gitlist.dev/e/01cf52cb-7e90-efde-a06c-f0413f9efc8a%40gmail.com

```
I am not sure if this is the right mailing list.  If not, please 
redirect me to the right place.

I have Cygwin's git (2.21.0) and Git for Windows (2.21.0) installed on 
my Windows 10 machine.  I run the following command with each binary 
"git push --all" on a simple 2 line change to 1 file.  If I use Cygwin's 
git, then the operation takes almost 5 minutes.  If I use Git for 
Windows, then the operation takes almost 20 seconds.  I tried using 
--verbose to figure out why Cygwin's git is so slow but it does not 
reveal anything to me as to why.  What can I do to figure out why 
Cygwin's git is so slow? I am hoping that we can get to the bottom of 
this and it can be fixed to help all users.

-- 
-Nathan


```

## Adam Dinwoodie, 2019-05-21 14:47

Subject: Re: Cygwin Git Performance
Message-ID: <CA+kUOa=N5GuKoLjNh=8JkTBnpcdxQ2-OLZbOFAGUhBkZ9dVH4A@mail.gmail.com>
URL: https://gitlist.dev/e/CA%2BkUOa%3DN5GuKoLjNh%3D8JkTBnpcdxQ2-OLZbOFAGUhBkZ9dVH4A%40mail.gmail.com
In-Reply-To: <01cf52cb-7e90-efde-a06c-f0413f9efc8a@gmail.com>

```
On Tue, 21 May 2019 at 15:34, Nathan and Ila Reynolds wrote:
>
> I am not sure if this is the right mailing list.  If not, please
> redirect me to the right place.
>
> I have Cygwin's git (2.21.0) and Git for Windows (2.21.0) installed on
> my Windows 10 machine.  I run the following command with each binary
> "git push --all" on a simple 2 line change to 1 file.  If I use Cygwin's
> git, then the operation takes almost 5 minutes.  If I use Git for
> Windows, then the operation takes almost 20 seconds.  I tried using
> --verbose to figure out why Cygwin's git is so slow but it does not
> reveal anything to me as to why.  What can I do to figure out why
> Cygwin's git is so slow? I am hoping that we can get to the bottom of
> this and it can be fixed to help all users.

Re which mailing list to use: are you using the version of Cygwin Git
that gets installed when using Cygwin's setup-x86/setup-x86_64
installer? If so, you'll probably have better luck reporting on the
Cygwin mailing list per https://cygwin.com/lists.html. If it's
something you built yourself, it's less clear, because it depends
where things are going wrong. In either case, I'm the maintainer for
the Cygwin Git package, so I'm probably a good person to at least take
a first pass at the problem.

It is expected that Cygwin's Git is slower than Git for Windows, as
they're both running on the same hardware, operating system and file
system, but Cygwin has a heavier interface layer between the Git code
and the OS. However I'd expect that difference to be basically
unnoticable the vast majority of the time; 20 seconds to 5 minutes is
significantly more than I'd consider typical.

My immediate thoughts are around (a) PATH handling and (b) third-party
dependencies like what SSH library is being used. So I can rule those
out, can you give me (a) the standard Cygwin diagnostic package from
running "cygcheck -s -v -r > cygcheck.out" in a Cygwin terminal
(off-list, if you prefer), and (b) details of the remote repository
you're pushing to?

Cheers,

Adam

```

## Jeff Hostetler, 2019-05-21 21:06

Subject: Re: Cygwin Git Performance
Message-ID: <5d06cf4a-c29f-335f-52f9-c6c35369b673@jeffhostetler.com>
URL: https://gitlist.dev/e/5d06cf4a-c29f-335f-52f9-c6c35369b673%40jeffhostetler.com
In-Reply-To: <01cf52cb-7e90-efde-a06c-f0413f9efc8a@gmail.com>

```


On 5/21/2019 10:34 AM, Nathan and Ila Reynolds wrote:
> I am not sure if this is the right mailing list.  If not, please 
> redirect me to the right place.
> 
> I have Cygwin's git (2.21.0) and Git for Windows (2.21.0) installed on 
> my Windows 10 machine.  I run the following command with each binary 
> "git push --all" on a simple 2 line change to 1 file.  If I use Cygwin's 
> git, then the operation takes almost 5 minutes.  If I use Git for 
> Windows, then the operation takes almost 20 seconds.  I tried using 
> --verbose to figure out why Cygwin's git is so slow but it does not 
> reveal anything to me as to why.  What can I do to figure out why 
> Cygwin's git is so slow? I am hoping that we can get to the bottom of 
> this and it can be fixed to help all users.
> 


You might try turning on GIT_TRACE_PERFORMANCE [1] and see if that
shows any differences.

If you can install 2.22.0-rc* versions of both, you can turn on
GIT_TR2_PERF [2] and some additional details.

If your repo is very large, it may be due to some Windows file system
optimizations present in the Git for Windows version.

[1] https://git-scm.com/book/en/v2/Git-Internals-Environment-Variables
[2] 
https://github.com/git/git/blob/master/Documentation/technical/api-trace2.txt#L80


Hope that helps,
Jeff

```
