On Mon, Mar 21, 2022 at 10:55 AM Junio C Hamano <gitster@xxxxxxxxx> wrote: > > "Neeraj Singh via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > > > From: Neeraj Singh <neerajsi@xxxxxxxxxxxxx> > > > > The unpack-objects functionality is used by fetch, push, and fast-import > > to turn the transfered data into object database entries when there are > > fewer objects than the 'unpacklimit' setting. > > > > By enabling bulk-checkin when unpacking objects, we can take advantage > > of batched fsyncs. > > This feels confused in that we dispatch to unpack-objects (instead > of index-objects) only when the number of loose objects should not > matter from performance point of view, and bulk-checkin should shine > from performance point of view only when there are enough objects to > batch. > > Also if we ever add "too many small loose objects is wasteful, let's > send them into a single 'batch pack'" optimization, it would create > a funny situation where the caller sends the contents of a small > incoming packfile to unpack-objects, but the command chooses to > bunch them all together in a packfile anyway ;-) > > So, I dunno. > I'd be happy to just drop this patch. I originally added it to answer Avarab's question: how does batch mode compare to packfiles? [1] [2]. [1] https://lore.kernel.org/git/87mtp5cwpn.fsf@xxxxxxxxxxxxxxxxxxx/ [2] https://lore.kernel.org/git/pull.1076.v5.git.git.1632514331.gitgitgadget@xxxxxxxxx/