Jonathan Tan <jonathantanmy@xxxxxxxxxx> writes: > OK - how about: > > [start] > When an object to be packed is noticed to be missing, prefetch all > to-be-packed objects in one batch. > > Most of the time (typically, when serving a fetch or when pushing), > packs consist only of objects that the repo has. To maintain the > performance in this case, the existing object type read is made to also > serve as the object existence check: if the read fails, then we do the > prefetch. > > An alternative design is to loop over all the entries in to_pack, > checking the existence of each object, and prefetching if we notice any > missing. This would result in clearer code, but would incur some > performance degradation in the aforementioned most common case due to > the additional object existence checks. > > Signed-off-by: Jonathan Tan <jonathantanmy@xxxxxxxxxx> > [end] > > The first paragraph is already in the original, and the rest are > additions. Sure. The first two paragraphs would be sufficient, although the last paragraph wouldn't hurt.