From: Shawn O. Pearce Date: Thu, 27 May 2010 18:05:54 GMT Subject: Re: Libgit2 on the Summer of Code Message-ID: <20100527180554.GM16470@spearce.org> In-Reply-To: <20100527174636.GB9909@LK-Perkele-V2.elisa-laajakaista.fi> Ilari Liusvaara wrote: > * Where algorithm in git_revpool_table__hash() is from? Since it appears to > hash binary object IDs, wouldn't just simple sum/xor over words be sufficient > (all SHA-1 output bits are very nearly independent). Or do you need to be > compatible with some other implementation (doesn't appear so, because hash > is computed differently depending on endianess)? If you need a hash value for a SHA-1, why not just cast the unsigned char* to unsigned int* and load the first int as the hash code? The output of SHA-1 is pretty evenly distributed, using the first few bytes as an int should yield a sufficient distribution throughout the hashtable. -- Shawn.