From: Nicolas Pitre Date: Wed, 3 May 2006 03:46:51 +0000 (-0400) Subject: tiny optimization to diff-delta X-Git-Tag: v1.4.0-rc1~158^2~1 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=2d08e5dd730680f7f8645a6326ec653435e032df;p=git.git tiny optimization to diff-delta This is my assembly freak side looking at generated code again. And since create_delta() is certainly pretty high on the radar every bits count. In this case shorter code is generated if hash_mask is not copied to a local variable. Signed-off-by: Nicolas Pitre Signed-off-by: Junio C Hamano --- diff --git a/diff-delta.c b/diff-delta.c index 35e517d2d..45df786b0 100644 --- a/diff-delta.c +++ b/diff-delta.c @@ -239,7 +239,7 @@ create_delta(const struct delta_index *index, const void *trg_buf, unsigned long trg_size, unsigned long *delta_size, unsigned long max_size) { - unsigned int i, outpos, outsize, hash_mask, val; + unsigned int i, outpos, outsize, val; int inscnt; const unsigned char *ref_data, *ref_top, *data, *top; unsigned char *out; @@ -275,7 +275,6 @@ create_delta(const struct delta_index *index, ref_top = ref_data + index->src_size; data = trg_buf; top = trg_buf + trg_size; - hash_mask = index->hash_mask; outpos++; val = 0; @@ -290,7 +289,7 @@ create_delta(const struct delta_index *index, struct index_entry *entry; val ^= U[data[-RABIN_WINDOW]]; val = ((val << 8) | *data) ^ T[val >> RABIN_SHIFT]; - i = val & hash_mask; + i = val & index->hash_mask; for (entry = index->hash[i]; entry; entry = entry->next) { const unsigned char *ref = entry->ptr; const unsigned char *src = data;