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

Re: [git wiki PATCH 1/3] "Improving parallelism in various commands" project

From
JPJames Pickens <jepicken@gmail.com>
Date
Mar 2, 2012, 17:35 UTC
Message-ID
<CAJMEqRAXa+qdXa_6S1PieD2SwcSDo5kkCwe3_PedTRet-vk-Fw@mail.gmail.com>
In-Reply-To
<57e8b4eb7a98af33982c2f3a763e18f62b1d6d6d.1330686331.git.trast@student.ethz.ch>
[Resend since the first try had HTML and the list rejected it]
On Fri, Mar 2, 2012, Thomas Rast <trast@student.ethz.ch> wrote:
+ * In preparation (the half-step): identify commands that could
+   benefit from parallelism.  `git grep --cached` and `git grep
+   COMMIT` come to mind, but most likely also `git diff` and `git log
+   -p`.  You can probably find more.

For those of us who must work on NFS for various reasons, it would help tremendously to write out work tree files in parallel, during 'git clone', 'git reset --hard', and any other command that writes lots of files to the work tree. You can get a huge speedup (benchmarked at ~3.5x) without even unpacking those files in parallel; unpacking them serially and writing them to disk in parallel is sufficient.

I submitted a patch [1] ~2 years ago that added that capability. It was not accepted, but it did demonstrate the huge potential speedup on NFS, and the pitfall of degrading performance on a local drive. The patch itself is probably not useful any more, but it includes some benchmarks, and the discussion may be helpful.

James
[1] http://thread.gmane.org/gmane.comp.version-control.git/103489
Previous: Nguyen Thai Ngoc Duy
Message 8 of 8 in “"Improving parallelism in various commands" project”
  1. 1/3 "Improving parallelism in various commands" projectThomas Rast, Mar 2, 2012
  2. 2/3 "Designing a faster index format" projectThomas Rast, Mar 2, 2012
  3. Jeff KingMar 2, 2012
  4. Junio C HamanoMar 2, 2012
  5. Nguyen Thai Ngoc DuyMar 3, 2012
  6. 3/3 "Improving the `git add -p` interface" projectThomas Rast, Mar 2, 2012
  7. Nguyen Thai Ngoc DuyMar 2, 2012
  8. James PickensMar 2, 2012

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.