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

[RFC PATCH 0/2] Parallel pull core

From
barkalow@iabervon.org <barkalow@iabervon.org>
Date
Aug 1, 2005, 01:11 UTC
Message-ID
<Pine.LNX.4.62.0507312055030.23721@iabervon.org>

This series makes the core of the pull programs parallel. It should not actually make any difference yet. It arranges to call prefetch() for each object as soon as it is determined to be needed, and then call fetch() on each object once there is nothing left to prefetch. By implementing prefetch(), an implementation can make additional requests while waiting for the data from the earlier ones to come in. Additionally, fetch() will be called in the same order that prefetch() was called, so the implementation can just make a series of requests and get responses.

If anyone else is also interested in working on this, it could go into -pu; I've tested it reasonably well, and I'm pretty sure that it doesn't have any effect until the implementations are changed to have prefetch() do something. I'm working on support for it in ssh-pull, and haven't started looking at http-pull support.

 1: Adds support to the struct object code to produce struct objects when 
    the type is unknown and the content is unavailable; this allocates 
    memory for the union of the supported types, so it is slightly less 
    efficient, but allows the pull code to track objects it doesn't know 
    anything about (such as the targets to tags).
 2: Parallelizes the pull algorithm.
	-Daniel
Next: barkalow@iabervon.org
Message 1 of 3 in “Parallel pull core”
  1. 0/2 Parallel pull corebarkalow@iabervon.org, Aug 1, 2005
  2. 1/2 Support for making struct objects for absent objects of unknown typebarkalow@iabervon.org, Aug 1, 2005
  3. 2/2 Parallelize pull algorithm (no change to behavior).barkalow@iabervon.org, Aug 1, 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.