Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: > I looked at git profiles yesterday, and some of them are pretty scary. We > spend about 50% of the time under some loads in just zlib uncompression, > and when I actually looked closer at the zlib sources I can kind of > understand why. That thing is horrid. Yes. This is actually one of the motivations behind pack v4. We don't store the "important bits" of commits and trees in zlib compressed format at all; allowing us to completely bypass the inflate() penalty you describe. We're already much faster on the linux-2.6 kernel tree, and that's *with* converting the pack raw data into text, then reparsing that text into a struct commit* or a struct name_entry using the current code. We're also planning on reworking those parsers to parse the raw pack data, allowing us to save some very unnecessary raw->string->raw conversion time. But Nico and I still looking to use zlib for commit messages and blob content, so any improvements to inflate (or its replacement) would still be most helpful. -- 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