On Tue, Nov 23, 2010 at 3:17 PM, Jonathan Nieder <jrnieder@xxxxxxxxx> wrote: > Shawn Pearce wrote: >> On Mon, Nov 22, 2010 at 11:53 PM, Jonathan Nieder <jrnieder@xxxxxxxxx> wrote: >> The way I >> read this store_tree() code, every subdirectory is recursed into even >> if no modifications were made inside of that subdirectory during the >> current commit. > > Doesn't the is_null_sha1 check avoid that? Oh, right, yes. That check avoids processing a tree that wasn't modified. Damn that code isn't very clear. :-( > To further explain the workload: svn-fe receives its blobs from svn > in the form of deltas. So the conversation might go like this: ... > Current svn-fe in vcs-svn-pu requests the preimage blobs using marks, > but the idea is the same. > > If this proves a bottleneck I suppose we could cache the content of > frequently-requested old blobs and keep pointers to that in the > in-core tree. OK, now I get it. fast-import already uses sha1_file.c's delta base cache for the delta bases that are frequently accessed. It *may* help an importer that needs to keep refetching the same blob to cache the blob itself rather than its delta base (and reapply every time). It might not help too, it may hurt to try and keep recently accessed objects that the importer won't need to request again. -- Shawn. -- 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