From: A Large Angry SCM Date: Thu, 06 Aug 2009 23:43:16 GMT Subject: Re: [PATCH 0/5] Suggested for PU: revision caching system to significantly speed up packing/walking Message-ID: <4A7B6A94.9020200@gmail.com> In-Reply-To: <20090806233739.GL1033@spearce.org> Shawn O. Pearce wrote: > A Large Angry SCM wrote: >> Shawn O. Pearce wrote: >>> Nick Edelen wrote: >>>> 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. > That will work for me if the cache gets a version number and iff the pack-objects hash code gets big warning comments about the cache code dependency.