From: Johannes Schindelin Date: Sun, 05 Apr 2009 13:19:25 GMT Subject: Re: [PATCH 4/4] replace_object: use the new generic "sha1_pos" function to lookup sha1 Message-ID: In-Reply-To: <20090404225941.7fef76a7.chriscool@tuxfamily.org> Hi, On Sat, 4 Apr 2009, Christian Couder wrote: > instead of the specific one that was simpler but less efficient. > > Signed-off-by: Christian Couder > --- > replace_object.c | 24 +++++++++--------------- > 1 files changed, 9 insertions(+), 15 deletions(-) > > diff --git a/replace_object.c b/replace_object.c > index 1227214..eb59604 100644 > --- a/replace_object.c > +++ b/replace_object.c > @@ -1,4 +1,5 @@ > #include "cache.h" > +#include "sha1-lookup.h" > #include "refs.h" > > static struct replace_object { > @@ -7,23 +8,16 @@ static struct replace_object { > > static int replace_object_alloc, replace_object_nr; > > +static const unsigned char *replace_sha1_access(size_t index, void *table) > +{ > + struct replace_object **replace = table; > + return replace[index]->sha1[0]; > +} I have to agree with Junio that this is potentially slowing down things, as there is an additional redirection layer here. If the tables are not too large, I'd prefer using a struct sha1_list_entry { unsigned char *sha1; void *object; }; Hmm. Ciao, Dscho