Well, the thing is, I personally much prefer to have just a single
compression algorithm and object layout. Most of the performance-critical
objects from a decompression standpoint during commit traversal are all
small (especially if you do pathname limiting), but when you do something
like a "git add ." most objects are actually random blob objects and you
need to have a compression algorithm that works in the general case too.
Of course, pack-v4 may (likely will) end up using different strategies for
different objects (delta's in particular), but the "one single object
compression type" was a big deal for initial implementation.
It's may not be fundamental to git operation (so we can fairly easily
change it and make it more complex without any higher-level stuff even
noticing), but it was definitely fundamental to "get something stable and
working" up and running quickly..
That's kind of pack-v4 area. It will happen, but I'd actually like to see
if we can just avoid stupid performance problems with zlib, independently
of trying to make more tuned formats.
Linus
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html