Commit c2550609e37e0778814d328c47eb84a7ede6931f

Vicent Marti 2010-05-28T01:50:59

Use the first 4 bytes of an OID as hash, instead of full hashing. Signed-off-by: Vicent Marti <tanoku@gmail.com> Signed-off-by: Andreas Ericsson <ae@op5.se>

diff --git a/src/revobject.c b/src/revobject.c
index a0d9ac9..182f2b3 100644
--- a/src/revobject.c
+++ b/src/revobject.c
@@ -30,27 +30,7 @@ const float max_load_factor = 0.65;
 
 unsigned int git_revpool_table__hash(const git_oid *id)
 {
-	const unsigned int m = 0x5bd1e995;
-	const int r = 24;
-
-	unsigned int h = 0xA8A3D5;
-	int i;
-
-	for (i = 0; i < GIT_OID_RAWSZ / 4; ++i) {
-		unsigned int k = ((unsigned int *)id->id)[i];
-
-		k *= m;
-		k ^= k >> r;
-		k *= m;
-		h *= m;
-		h ^= k;
-	}
-
-	h ^= h >> 13;
-	h *= m;
-	h ^= h >> 15;
-
-	return h;
+	return *((unsigned int *)id->id);
 }
 
 git_revpool_table *git_revpool_table_create(unsigned int min_size)