Re: [PATCH 0/5] Suggested for PU: revision caching system to significantly speed up packing/walking
From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:47:12
On Thu, 6 Aug 2009, Shawn O. Pearce wrote:
A Large Angry SCM [off-list ref] wrote:quoted
Shawn O. Pearce wrote:quoted
Nick Edelen [off-list ref] wrote:quoted
Hrmm, I just realized that it dosn't actually cache paths/names...You may not need the path name, but instead the hash value that pack-objects computes from the path name.Please do NOT expose the hash values. The hash used by pack-objects is an implementation detail of the heuristics used by the _current_ object packing code. It would be a real shame to have to maintain backward compatibility with it at some future date after the packing machinery has changed.This is a local cache. If there was a version number in the header, and the hash function changes, we could just bump the version number and invalidate all of the caches. No sense in storing (and doing IO of) huge duplicate string values for something where we really only need 32 bits, and where a recompute from scratch only costs a minute.
FWIW it was this redundancy in duplicate (unpacked) string redundancy I meant, but I did a poor job at expressing myself, and consequently Nick did not understand what I want (and I'm on a slow connection, so I deleted the mail halfway through looking if there are some real answers hidden in the huge quoted part instead of replying). And the fragility of the dependency to the implementation detail of the pack index suggests to me that my intuition that this whole thing should be more tightly integrated with the pack index was not totally off the mark. Ciao, Dscho