On 02/01/2011 04:43 AM, Branko Čibej wrote:
> You do know that "diff" and "delta" are two different beasts, and that
> the diff optimizations have no effect on deltas? :)
>
> The problem with directory deltification lies in the length of the delta
> chain and the frequency of directory lookup compared to file access. The
> sad fact is that our directory storage (/and/ our API) are woefully
> unsuited to their tasks. The way they're stored now (in both BDB and
> FSFS back-ends) requires the whole directory to be read into memory and
> hashed in order to find a single entry, and you have to do this for each
> level of directories when resolving a path. It doesn't help that most of
> the APIs are strictly path based, e.g., editor drives will do the lookup
> any number of times.
>
> The whole concept of directory storage needs to be changed. The easiest
> way would be to store directories as B-trees, however, that doesn't play
> nice with versioning. On the other hand, directory structure is well
> known and there's no reason to use a generic delta algorithm to store
> them. I could probably come up with a better storage schema for
> directories in a couple weeks, but I don't have the time to implement
> such a thing.
>
> -- Brane
I can only really speak for the BDB side of things, but... "what he said".
--
C. Michael Pilato <cmpilato_at_collab.net>
CollabNet <> www.collab.net <> Distributed Development On Demand
Received on 2011-02-01 16:30:08 CET