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

Re: Significant performance waste in git-svn and friends

From
Shawn O. Pearce <spearce@spearce.org>
Date
Sep 6, 2007, 02:19 UTC
Message-ID
<20070906021941.GF18160@spearce.org>
In-Reply-To
<85bqcghktl.fsf@lola.goethe.zz>
David Kastrup <dak@gnu.org> wrote:
Show 16 quoted lines
> Junio C Hamano <gitster@pobox.com> writes:
> 
> > Mike Hommey <mh@glandium.org> writes:
> >
> >> The same things obviously apply to git-cvsimport and other scripts
> >> calling git-hash-object a lot.
> >
> > I wonder if letting fast-import handle the object creation is an
> > option, though.
> 
> I think it would be saner to give git-hash-object an operation mode
> that makes it usable as a pipe-controlled daemon, so that one needs
> not fork and exec for interning another object.  That way, porcelain
> commands could keep one bidirectional pipe (feed object type and
> source and whether to use -w into git-hash-project, receive object id)
> to git-hash-object around until they finish.

Aside from getting the hashes back from fast-import, that's what fast-import is for. I could also make it disable writing. Hmm. Junio and I were just talking about making fast-import send the marks table back out on stdout. This would make it easier for a frontend process to stream a whole bunch of objects into the process, then get back all of their SHA-1s. Less context switches and more parallel operation.

-- 
Shawn.
Previous: Patrick DoyleNext: Shawn O. Pearce
Message 5 of 11 in “Significant performance waste in git-svn and friends”
  1. Mike HommeySep 5, 2007
  2. Junio C HamanoSep 5, 2007
  3. David KastrupSep 5, 2007
  4. Patrick DoyleSep 6, 2007
  5. Shawn O. PearceSep 6, 2007
  6. Shawn O. PearceSep 6, 2007
  7. Mike HommeySep 6, 2007
  8. Eric WongSep 6, 2007
  9. Shawn O. PearceSep 7, 2007
  10. Steven GrimmSep 7, 2007
  11. Mike HommeySep 7, 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.