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

Re: [PATCH] refs.c: add a function to sort a ref list, rather then sorting on add

From
Junio C Hamano <junkio@cox.net>
Date
Apr 17, 2007, 22:00 UTC
Message-ID
<7vslaymzk3.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<Pine.LNX.4.64.0704170901170.5473@woody.linux-foundation.org>
Linus Torvalds <torvalds@linux-foundation.org> writes:
Show 13 quoted lines
> On Tue, 17 Apr 2007, Julian Phillips wrote:
>>
>> Rather than sorting the refs list while building it, sort in one go
>> after it is built using a merge sort.  This has a large performance
>> boost with large numbers of refs.
>> 
>> Signed-off-by: Julian Phillips <julian@quantumfyre.co.uk>
>
> Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
>
> Looks fine. I think that even your new times are a bit high (over two 
> seconds?) but things are clearly better. Have you looked at what takes so 
> long now? 

I wonder why the loss of "we are replacing the same one" case in the original add_ref() was not compensated for in the new sort_ref_list().

I think we would not call add_ref() to the same list with duplicate names, unless (1) filesystem is grossly corrupt, (2) somebody added a new ref while we are walking (how does readdir() behave in such a case???), or (3) packed-refs file is corrupt.

Previous: Julian PhillipsNext: Julian Phillips
Message 6 of 12 in “refs.c: add a function to sort a ref list, rather then sorting on add”
  1. refs.c: add a function to sort a ref list, rather then sorting on addJulian Phillips, Apr 17, 2007
  2. Linus TorvaldsApr 17, 2007
  3. Julian PhillipsApr 17, 2007
  4. Linus TorvaldsApr 17, 2007
  5. Julian PhillipsApr 17, 2007
  6. Junio C HamanoApr 17, 2007
  7. Julian PhillipsApr 17, 2007
  8. Junio C HamanoApr 18, 2007
  9. refs.c: drop duplicate entries in sort_ref_listJulian Phillips, Apr 18, 2007
  10. Johannes SixtApr 19, 2007
  11. Julian PhillipsApr 19, 2007
  12. Julian PhillipsApr 17, 2007

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.