libgit2/libgit2 — pull request #1070 by edubart (2012-11-14 06:17:51+00:00)
Title: Decompress large packfiles on the fly

Before this packfile's objects were decompressed repeataly every recv,
this caused huge slowdown when fetching repositories that
contained large packed objects. Now zlib's inflate() is feed
with only new bytes received from the remote, instead of
feeding it with the whole object buffer everytime.

Before this commit, in my tests with libgit2 fetching remote a repository with large files (over 70MB), would take forever (1 hour or more), because every 8192 received bytes libgit2 was trying to decompress the object. But now with patch libgit2 fetching takes 90 seconds, while original git takes 30 seconds, which is acceptable.