From: Elijah Newren Date: Sun, 22 Jul 2018 06:22:10 GMT Subject: Re: [PATCH] pack-objects: fix performance issues on packing large deltas Message-ID: In-Reply-To: <20180721044711.GA31376@duynguyen.home> On Fri, Jul 20, 2018 at 9:47 PM, Duy Nguyen wrote: > On Fri, Jul 20, 2018 at 10:43:25AM -0700, Elijah Newren wrote: >> Out of curiosity, would it be possible to use the delta_size_ field >> for deltas that are small enough, and only use an external data >> structure (perhaps a hash rather than an array) for the few deltas >> that are large? > > We could. And because repack time is still a bit higher in your > linux.git case. Let's try this. No locking in common case and very > small locked region when we hit large deltas This one looks like a winner. Labelling this as fix-v7, this rounds out the table to: Version Time (s) ------- -------- 2.17.0 621.36 2.18.0 621.80 fix-v5 836.29 fix-v6 831.73 fix-v2 619.96 fix-v7 622.88 So the runtime is basically within the noise of different runs of the timing for 2.17.0 or 2.18.0 or -v2, and is much faster than -v5 or -v6.