Jeff King <peff@xxxxxxxx> writes: > This might seem circular, since step 2a uses the type > information determined in step 1 to call the appropriate > lookup function. However, we can notice that all of the > lookup_* functions are backed by lookup_object. In other > words, all of the objects are kept in a master hash table, > and we don't actually need the type to do the "do we have > it" part of the lookup,... The only case that might matter is where you read one object, you have written another object of a different type but that happens to hash to the same SHA-1 value. The other existing optimizations do not take that into account, so I do not think there is any new issue here. > For example, GitHub's alternates repository for git.git has > ~120,000 refs, of which only ~3200 are unique. The time for > upload-pack to print its list of advertised refs dropped > from 3.4s to 0.76s. Nice. I am more impressed by 120k/3.4 than 3.2k/0.76, though ;-) 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