Re: [PATCH 03/16] pack-objects: use a faster hash table

2013-06-25 Thread Jeff King
On Tue, Jun 25, 2013 at 10:14:17PM -0400, Jeff King wrote: > So I suspect two things (but as I said, haven't verified): > > 1. You could speed up pack-objects just by keeping the table half full > rather than 3/4 full. I wasn't able to show any measurable speedup with this. I tried to mak

Re: [PATCH 03/16] pack-objects: use a faster hash table

2013-06-25 Thread Jeff King
On Tue, Jun 25, 2013 at 04:03:22PM +0200, Thomas Rast wrote: > > The big win here, however, is in the massively reduced amount of hash > > collisions (as you can see from the huge reduction of time spent in > > `hashcmp` after the change). These greatly improved lookup times > > will result critic

Re: [PATCH 03/16] pack-objects: use a faster hash table

2013-06-25 Thread Vicent Martí
On Wed, Jun 26, 2013 at 12:48 AM, Junio C Hamano wrote: > After this, the function returns. The original did not add to the > table the object name we are looking at, but the new code first adds > it to the table with the unconditional kh_put_sha1() above. Is a > call to kh_del_sha1() missing he

Re: [PATCH 03/16] pack-objects: use a faster hash table

2013-06-25 Thread Junio C Hamano
Vicent Marti writes: > @@ -901,19 +896,19 @@ static int no_try_delta(const char *path) > return 0; > } > > -static int add_object_entry(const unsigned char *sha1, enum object_type type, > - const char *name, int exclude) > +static int add_object_entry_1(const unsi

Re: [PATCH 03/16] pack-objects: use a faster hash table

2013-06-25 Thread Thomas Rast
Vicent Marti writes: > This commit brings `khash.h`, a header only hash table implementation > that while remaining rather simple (uses quadratic probing and a > standard hashing scheme) and self-contained, offers a significant > performance improvement in both insertion and lookup times. > > `kh