# Performance regression in git fetch between 1.8.3.4 and 1.8.5.3

3 messages from 2014-01-31 to 2014-02-01. Participants: brian m. carlson, Jeff King.
Thread: https://gitlist.dev/t/35775

## brian m. carlson, 2014-01-31 21:02

Subject: Performance regression in git fetch between 1.8.3.4 and 1.8.5.3
Message-ID: <20140131210154.GA632399@vauxhall.crustytoothpaste.net>
URL: https://gitlist.dev/e/20140131210154.GA632399%40vauxhall.crustytoothpaste.net

```
At work, we recently upgraded our git version from 1.8.3.4 to 1.8.5.3.
We've noticed a significant performance regression in git fetch.  The
numbers below are for an up-to-date branch (that is, no data is actually
being fetched) for a git-over-ssh remote on our gitorious server.

This is an auxiliary repository, so its size is probably between 6-7
GiB.  It does not have an especially large number of refs, but is a
clone of our main repository.

Other than the new version, the only difference is that 1.8.5.3 is built
against libpcre.  These are both running on the same CentOS 6 system;
literally the only difference is installing one RPM or the other.

1.8.3.4:

  brianc ok # for i in `seq 1 3`; do time git fetch; done
  git fetch  0.86s user 0.18s system 78% cpu 1.314 total
  git fetch  0.88s user 0.19s system 79% cpu 1.348 total
  git fetch  0.84s user 0.18s system 78% cpu 1.299 total

1.8.5.3:

  brianc ok # for i in `seq 1 3`; do time git fetch; done
  git fetch  17.11s user 1.22s system 98% cpu 18.652 total
  git fetch  16.74s user 1.24s system 98% cpu 18.286 total
  git fetch  17.78s user 1.35s system 98% cpu 19.446 total

Does anyone have any idea what might be causing this?

-- 
brian m. carlson / brian with sandals: Houston, Texas, US
+1 832 623 2791 | http://www.crustytoothpaste.net/~bmc | My opinion only
OpenPGP: RSA v4 4096b: 88AC E9B2 9196 305B A994 7552 F1BA 225C 0223 B187

```

## Jeff King, 2014-01-31 21:35

Subject: Re: Performance regression in git fetch between 1.8.3.4 and 1.8.5.3
Message-ID: <20140131213505.GA21264@sigill.intra.peff.net>
URL: https://gitlist.dev/e/20140131213505.GA21264%40sigill.intra.peff.net
In-Reply-To: <20140131210154.GA632399@vauxhall.crustytoothpaste.net>

```
On Fri, Jan 31, 2014 at 09:02:15PM +0000, brian m. carlson wrote:

> At work, we recently upgraded our git version from 1.8.3.4 to 1.8.5.3.
> We've noticed a significant performance regression in git fetch.  The
> numbers below are for an up-to-date branch (that is, no data is actually
> being fetched) for a git-over-ssh remote on our gitorious server.

Is it better with v1.9-rc1? There was a slowdown in v1.8.4.2 that I
addressed with commit 200abe7 (which is slated for v1.9).

-Peff

```

## brian m. carlson, 2014-02-01 00:41

Subject: Re: Performance regression in git fetch between 1.8.3.4 and 1.8.5.3
Message-ID: <20140201004128.GA635004@vauxhall.crustytoothpaste.net>
URL: https://gitlist.dev/e/20140201004128.GA635004%40vauxhall.crustytoothpaste.net
In-Reply-To: <20140131213505.GA21264@sigill.intra.peff.net>

```
On Fri, Jan 31, 2014 at 04:35:05PM -0500, Jeff King wrote:
> On Fri, Jan 31, 2014 at 09:02:15PM +0000, brian m. carlson wrote:
> 
> > At work, we recently upgraded our git version from 1.8.3.4 to 1.8.5.3.
> > We've noticed a significant performance regression in git fetch.  The
> > numbers below are for an up-to-date branch (that is, no data is actually
> > being fetched) for a git-over-ssh remote on our gitorious server.
> 
> Is it better with v1.9-rc1? There was a slowdown in v1.8.4.2 that I
> addressed with commit 200abe7 (which is slated for v1.9).

Yes.  The time is much lower with 1.9-rc1:

  brianc ok # for i in `seq 1 3`; do time git fetch; done
  git fetch  0.90s user 0.18s system 74% cpu 1.447 total
  git fetch  0.88s user 0.20s system 74% cpu 1.456 total
  git fetch  0.88s user 0.19s system 74% cpu 1.438 total

I'll open a case to get it updated once 1.9 is finally released.  Thanks
for your suggestion.

-- 
brian m. carlson / brian with sandals: Houston, Texas, US
+1 832 623 2791 | http://www.crustytoothpaste.net/~bmc | My opinion only
OpenPGP: RSA v4 4096b: 88AC E9B2 9196 305B A994 7552 F1BA 225C 0223 B187

```
