Thread (1 message) 1 message, 1 author, 2016-06-15

Re: Libgit2 on the Summer of Code

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:48:54

Alex Riesen [off-list ref] writes:
On Thu, May 27, 2010 at 20:05, Shawn O. Pearce [off-list ref] wrote:
quoted
Ilari Liusvaara [off-list ref] wrote:
quoted
* 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.
Just make sure the SHA1 data are properly aligned for your platform
Also I'd prefer to see the code watch out for reproducibility across
platforms with different endianness and integer size.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help