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

Re: [PATCH] commit: avoid parent list buildup in clear_commit_marks_many()

From
René Scharfe <l.s.r@web.de>
Date
Feb 23, 2025, 08:25 UTC
Message-ID
<a5be80b2-bcc0-400d-8f83-f537a71d83a4@web.de>
In-Reply-To
<Z7LYI4tqGZzZ2Vaw@pks.im>
Am 17.02.25 um 07:33 schrieb Patrick Steinhardt:
Show 13 quoted lines
> On Thu, Feb 13, 2025 at 10:38:51PM +0100, René Scharfe wrote:
>> Am 12.02.25 um 08:05 schrieb Patrick Steinhardt:
>>
>> Well, the maximum list length for clear_commit_marks_many() calls with
>> nr > 1 in the test suite goes from 12 in t6600 to 4 with the patch.  Not
>> that exciting.  The question to me is: Why pile up parents in the list
>> when we can clean them earlier with no downside?  Or is there any?
>
> If it really is without downsides then yes, it's a nice improvement. I
> was mostly wondering whether you're fixing something where the old way
> of doing things performs _significantly_ worse and where the change
> could lead to a user-visible improvement. Like, requiring us to store
> orders of magnitudes less commits at the same time.

You could construct pathological cases, e.g., cleaning lots of disjoint histories, but I don't expect any dramatic impact to real usage of the function. It's just a small improvement.

René
Previous: Patrick SteinhardtNext: René Scharfe
Message 5 of 6 in “commit: avoid parent list buildup in clear_commit_marks_many()”
  1. commit: avoid parent list buildup in clear_commit_marks_many()René Scharfe, Feb 9, 2025
  2. Patrick SteinhardtFeb 12, 2025
  3. René ScharfeFeb 13, 2025
  4. Patrick SteinhardtFeb 17, 2025
  5. René ScharfeFeb 23, 2025
  6. commit: avoid parent list buildup in clear_commit_marks_many()René Scharfe, Feb 23, 2025

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.