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

Re: [PATCH v6 2/2] refs.c: SSE4.2 optimizations for check_refname_component

From
David Turner <dturner@twopensource.com>
Date
Jun 5, 2014, 19:26 UTC
Message-ID
<1401996362.18134.179.camel@stross>
In-Reply-To
<539062D9.60000@web.de>
On Thu, 2014-06-05 at 14:30 +0200, Torsten Bögershausen wrote:
Show 12 quoted lines
> On 2014-06-04 23.16, David Turner wrote:
> > 
> > Sure!  I actually went with > 120k to make measurement easier:
> > https://github.com/dturner-tw/many-refs
> Hm, I didn't get so man
> 
> git remote -v
> origin  https://github.com/dturner-tw/many-refs 
> 
>  wc .git/packed-refs 
>      750    1130   38868 .git/packed-refs
> 

Oops. It looks like I forgot to push all of the refs. And when I try, it fails with "fatal: cannot exec 'send-pack': Argument list too long"

I hacked git to send batches of 1000; maybe I'll actually make a real patch with ARG_MAX at some point. Anyway, this is uploading now, but I estimate that it will take at least five hours, because github is being really slow about this.

...
> where only patch 1/2 doesn't seem to speed up things on my system:
...

I would not expect a noticeable change on a tiny number of refs; it's only when ref parsing takes up a large percentage of runtime -- tens of thousands of refs.

Previous: Ondřej BílkaNext: Torsten Bögershausen
Message 9 of 14 in “refs.c: optimize check_refname_component()”
  1. 1/2 refs.c: optimize check_refname_component()David Turner, Jun 4, 2014
  2. 2/2 refs.c: SSE4.2 optimizations for check_refname_componentDavid Turner, Jun 4, 2014
  3. Torsten BögershausenJun 4, 2014
  4. Duy NguyenJun 4, 2014
  5. Torsten BögershausenJun 4, 2014
  6. David TurnerJun 4, 2014
  7. Torsten BögershausenJun 5, 2014
  8. Ondřej BílkaJun 5, 2014
  9. David TurnerJun 5, 2014
  10. Torsten BögershausenJun 5, 2014
  11. David TurnerJun 5, 2014
  12. David TurnerJun 4, 2014
  13. Junio C HamanoJun 4, 2014
  14. David TurnerJun 5, 2014

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.