Re: Performance regression in connectivity check during receive-pack (git 2.54)

Junio C Hamano <[email protected]>
Newsgroups org.kernel.vger.git
Message-ID <[email protected]>
Patrick Steinhardt <[email protected]> writes:

> The alternative to this would be to instead have logic in functions like
> `odb_write()` that checks whether we have an active transaction or not.
> If so, the write would go into the transaction directly instead of going
> into the primary source, and consequently we wouldn't even have to
> modify the list of sources at all.
>
> This shouldn't create too much of a problem, as we typically don't
> intend to even read objects that we've written into the transaction
> immediately. It would avoid that we try to read objects from the
> temporary object directory. And it would also allow us to eventually
> move all the logic to write objects into the transactions exclusively.

I suspect several of those 'transactions' are actually misspelt
'temporary directories', but I catch your drift.  That said, a
redesign like that feels more or less independent of the fix for our
immediate performance regression.

After all, didn't Peff show us a case where no odb sources were
being flipped in the middle?  Simply setting up one object store to
borrow from another via the alternates mechanism demonstrated that
checking packs across all object stores before hunting for loose
objects in any of them makes a world of difference.

> I'm currently out of office though, and will be on vacation next week.
> I'll explore this area a bit more though once I'm back in office in two
> weeks.

Understood.  Bon voyage and have fun!
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.