git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 1/1] commit-reach: fix first-parent heuristic

From
Derrick Stolee <stolee@gmail.com>
Date
Oct 19, 2018, 12:32 UTC
Message-ID
<d8a21999-3080-0989-49ae-995074cf7672@gmail.com>
In-Reply-To
<xmqqd0s61pat.fsf@gitster-ct.c.googlers.com>
On 10/19/2018 1:24 AM, Junio C Hamano wrote:
Show 18 quoted lines
> "Derrick Stolee via GitGitGadget" <gitgitgadget@gmail.com> writes:
>
>> We can also re-run the performance tests from commit 4fbcca4e
>> "commit-reach: make can_all_from_reach... linear".
>>
>> Performance was measured on the Linux repository using
>> 'test-tool reach can_all_from_reach'. The input included rows seeded by
>> tag values. The "small" case included X-rows as v4.[0-9]* and Y-rows as
>> v3.[0-9]*. This mimics a (very large) fetch that says "I have all major
>> v3 releases and want all major v4 releases." The "large" case included
>> X-rows as "v4.*" and Y-rows as "v3.*". This adds all release-candidate
>> tags to the set, which does not greatly increase the number of objects
>> that are considered, but does increase the number of 'from' commits,
>> demonstrating the quadratic nature of the previous code.
> These micro-benchmarks are interesting, but we should also remember
> to describe the impact of the bug being fixed in the larger picture.
> What end-user visible operations are affected?  Computing merge-base?
> Finding if a push fast-forwards?  Something else?

Sorry about that. Here is a description that could be inserted into the commit message:

The can_all_from_reach() method synthesizes the logic for one iteration of can_all_from_reach_with_flags() which is used by the server during fetch negotiation to determine if more haves/wants are needed. The logic is also used by is_descendant_of() which is used to check if a force-push is required and in 'git branch --contains'.

Thanks, -Stolee

Previous: Junio C HamanoNext: Junio C Hamano
Message 4 of 7 in “commit-reach: fix first-parent heuristic”
  1. 0/1 commit-reach: fix first-parent heuristicDerrick Stolee via GitGitGadget, Oct 18, 2018
  2. 1/1 commit-reach: fix first-parent heuristicDerrick Stolee via GitGitGadget, Oct 18, 2018
  3. Junio C HamanoOct 19, 2018
  4. Derrick StoleeOct 19, 2018
  5. Junio C HamanoOct 22, 2018
  6. Junio C HamanoOct 19, 2018
  7. Jeff HostetlerOct 19, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.