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

Re: [PATCH 5/6] Introduce the git fast-import-helper

From
Sverre Rabbelier <srabbelier@gmail.com>
Date
Oct 3, 2010, 23:15 UTC
Message-ID
<AANLkTi=RASZU2e+WV6kXnUH=afE=g2SoGuJFZF1QJ4=D@mail.gmail.com>
In-Reply-To
<4CA8BFB7.2050707@dbservice.com>
Heya,
On Sun, Oct 3, 2010 at 19:39, Tomas Carnecky <tom@dbservice.com> wrote:
Show 6 quoted lines
> I also use a hash table (struct hash_table from hash.h). It's indexed by
> the atom. So it's about equally fast as the existing one but uses
> slightly more memory. I measured the speed and fih is about 5% slower
> than fi. Also, I found out that setting max_packfile to 32MB makes the
> import much faster (from 10 minutes down to 3m to import the sources of
> git itself).
That's curious.

A 5% increase is significant. Imagine importing netbeans, (which is actually a use case of git-remote-hg), which takes about 4 hours. A 5% slowdown means the process will take more than 10 minutes longer.

Show 6 quoted lines
> I do: fprintf(stdout, "mark :%s %s\n", mark, sha1_to_hex(sha1));
> One reason why not just write the plain hash is because that's the same
> syntax as the fih accepts in its input. This way you can do:
>  $ ( cat marks; cat fast-export-stream ) | git fast-import-helper >> marks
> and can restart at any time. Also, making the output a bit more
> structured allows it to be easily extended in the future.

I don't see much benefit tbh, if we want to do something like that it could (relatively) easy be added to regular git fast-import with a feature. So you'd start the stream with "feature new-marks-format" and only then follow up with "feature import-marks=...". Ditto on the commandline, `git fast-import --new-marks-format --import-marks=...". If it turns out to be very useful/popular it can be made the default after warning for a full release first.

-- 
Cheers,

Sverre Rabbelier
Previous: Tomas CarneckyNext: Tomas Carnecky
Message 16 of 21 in “[RFC] New type of remote helpers”
  1. Tomas CarneckyOct 3, 2010
  2. 1/6 Remote helper: accept ':<value> <name>' as a response to 'list'Tomas Carnecky, Oct 3, 2010
  3. Jonathan NiederOct 5, 2010
  4. Sverre RabbelierOct 7, 2010
  5. 2/6 Allow more than one keepfile in the transportTomas Carnecky, Oct 3, 2010
  6. Jonathan NiederOct 5, 2010
  7. 3/6 Allow the transport fetch command to add additional refsTomas Carnecky, Oct 3, 2010
  8. Jonathan NiederOct 5, 2010
  9. 4/6 Rename get_mode() to decode_tree_mode() and export itTomas Carnecky, Oct 3, 2010
  10. Jonathan NiederOct 5, 2010
  11. 5/6 Introduce the git fast-import-helperTomas Carnecky, Oct 3, 2010
  12. Jonathan NiederOct 3, 2010
  13. Tomas CarneckyOct 3, 2010
  14. Sverre RabbelierOct 3, 2010
  15. Tomas CarneckyOct 3, 2010
  16. Sverre RabbelierOct 3, 2010
  17. 6/6 Add git-remote-svnTomas Carnecky, Oct 3, 2010
  18. Jonathan NiederOct 5, 2010
  19. Sverre RabbelierOct 3, 2010
  20. Jonathan NiederOct 3, 2010
  21. Ramkumar RamachandraOct 3, 2010

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.