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

Re: git-merge-cache / StGIT - gitmergeonefile.py: merging one tree into another rather than two trees into merge base

From
CLChuck Lever <cel@citi.umich.edu>
Date
Sep 12, 2005, 12:59 UTC
Message-ID
<43257BB3.5020506@citi.umich.edu>
In-Reply-To
<1126427087.8457.33.camel@localhost.localdomain>
Catalin Marinas wrote:
Show 15 quoted lines
> On Sat, 2005-09-10 at 20:27 +0200, Blaisorblade wrote:
> 
>>I experienced a (performance) problem with StGit, but I don't know if it's the 
>>culprit or if git-merge-cache is.
> 
> 
> ('s/cache/index/g' below since I still use the old names)
> 
> Maybe both. I did some profiling in StGIT but only for trivial patches
> which did not involved calling gitmergeonefile.py. It was taking around
> 2.5s to push a patch with a changed base (involving merge) on an
> NFS-mounted directory but most of the time, 1.8s, was spent in
> git-read-tree to do the actual merge.
> 
> Someone else (Bcc'ed, not sure he wants his address to be public) did
that's me!  thanks catalin.
Show 13 quoted lines
> some profiling on GIT and his conclusion was that most of the time was
> spend in memmove() called from add_cache_entry() in read-cache.c called
> from read-tree.c.
> 
> 
>>Today I was pushing my patch stack (which was against Linux 2.6.13) on top of 
>>the latest snapshot I have (i.e. upstream will likely have some mega of 
>>patches). And it was *really* slow (say it pushed 8 patches in 5 minutes).
> 
> 
> That's indeed very slow. How may files are modified in each patch? Do
> you run it over NFS? Also for profiling, it is useful to run a 'stg
> status' just to warm up the cache a little bit.

i've probably seen similar behavior with git-update-index, but i never bothered to measure it. blaisorblade, how are you profiling git?

junio asked me to port my cache abstraction helpers over daniel's read-tree changes, which i have done. i want to post those changes here today for comments.

begin:vcard fn:Chuck Lever n:Lever;Charles org:Network Appliance, Incorporated;Linux NFS Client Development adr:535 West William Street, Suite 3100;;Center for Information Technology Integration;Ann Arbor;MI;48103-4943;USA email;internet:cel@citi.umich.edu title:Member of Technical Staff tel;work:+1 734 763-4415 tel;fax:+1 734 763 4434 tel;home:+1 734 668-1089 x-mozilla-html:FALSE url:http://www.monkey.org/~cel/ version:2.1 end:vcard

Previous: Catalin MarinasNext: Blaisorblade
Message 3 of 14 in “git-merge-cache / StGIT - gitmergeonefile.py: merging one tree into another rather than two trees into merge base”
  1. BlaisorbladeSep 10, 2005
  2. Catalin MarinasSep 11, 2005
  3. Chuck LeverSep 12, 2005
  4. BlaisorbladeSep 14, 2005
  5. BlaisorbladeSep 14, 2005
  6. BlaisorbladeSep 14, 2005
  7. Catalin MarinasSep 15, 2005
  8. BlaisorbladeSep 16, 2005
  9. Junio C HamanoSep 16, 2005
  10. Catalin MarinasSep 17, 2005
  11. omitted test scripts?Chuck Lever, Sep 19, 2005
  12. Junio C HamanoSep 19, 2005
  13. Daniel BarkalowSep 19, 2005
  14. Matthias UrlichsSep 19, 2005

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.