Jeff King <peff@xxxxxxxx> writes: > This feels weirdly specific, and like we should just be tuning our hash > table growth better. You show a 3.2% speedup here. I was able to get a > 2.8% speedup just by doing this: > > diff --git a/object.c b/object.c > index 20703f5..8e5e12c 100644 > --- a/object.c > +++ b/object.c > @@ -91,7 +91,7 @@ static void grow_object_hash(void) > static void grow_object_hash(void) > { > int i; > - int new_hash_size = obj_hash_size < 32 ? 32 : 2 * obj_hash_size; > + int new_hash_size = obj_hash_size < 32 ? 32 : 3 * obj_hash_size; > struct object **new_hash; > > new_hash = xcalloc(new_hash_size, sizeof(struct object *)); > > It might be worth trying to figure out what the optimium growth rate is > first, which would help this use case and others. With less fragile > code. I agree with the general principle to avoid heuristics that is too specific to the use case. Thanks. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html