From: Stefan Sperling Subject: Re: reuse deltas while packing To: Christian Weisgerber Cc: gameoftrees@openbsd.org Date: Tue, 8 Feb 2022 12:40:27 +0100 On Mon, Feb 07, 2022 at 12:49:56PM +0100, Christian Weisgerber wrote: > Sorry, I didn't get as far as testing the diff, since the comparison > run with the old code already suffered problems: > > * My first attempt ran out of /tmp space. 4.8G was not enough. Caching deltas in compressed form in the future could help with this. > * Related to that: With more /tmp space, "gotadmin pack" eventually > wrote a 4.7G pack file. The original git clone of the repository > has only a 1.4G pack file. Yes, deltas we generate are significantly larger than those generated by Git. Reusing deltas generated by Git will help keep our packs a bit smaller, for now. We can also look at ways of making our own deltas smaller. With delta-reuse in place we may be able to afford additional run-time cost if that would help with creating smaller deltas. There are space/time trade-offs we can make by tuning deltification parameters. However, the deltification algorithms implemented by Git and Got are not the same. It is possible that a significant difference will always remain unless we rewrite code inherited from git9 and use a different approach.