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

Re: Perf bug: rev-list w/ 2+ paths relatively slow with commit-graph

From
Kai Koponen <kaikoponen@google.com>
Date
Jun 23, 2025, 18:04 UTC
Message-ID
<CADYQcGoH3jHMZ5K1Hrc5YVyqH5-Tm+LxN81iUchOqsHb00nD4g@mail.gmail.com>
In-Reply-To
<CADYQcGqaMC=4jgbmnF9Q11oC11jfrqyvH8EuiRRHytpMXd4wYA@mail.gmail.com>
Re: rev-list perf bug, some `git bugreport` version information:
[System Info]
git version:
git version 2.50.0.714.g196bf9f422-goog
cpu: x86_64
no commit associated with this build
sizeof-long: 8
sizeof-size_t: 8
shell-path: /bin/sh
libcurl: 8.13.0
OpenSSL: OpenSSL 3.4.1 11 Feb 2025
zlib: 1.3.1
SHA-1: SHA1_DC
SHA-256: SHA256_BLK
compiler info: gnuc: 14.2
libc info: glibc: 2.41
On Mon, Jun 23, 2025 at 1:58 PM Kai Koponen <kaikoponen@google.com> wrote:
Show 27 quoted lines
>
> Reproduce steps:
> ```
> git clone https://github.com/golang/go.git
> cd go
> git config core.commitGraph true
> git commit-graph write --split --reachable --changed-paths  # Without
> this, all calls equally slow (~1s)
> time git rev-list -10 3730814f2f2bf24550920c39a16841583de2dac1 --
> src/clean.bash > /dev/null  # ~90ms
> time git rev-list -10 3730814f2f2bf24550920c39a16841583de2dac1 --
> src/Make.dist > /dev/null  # ~100ms
> time git rev-list -10 3730814f2f2bf24550920c39a16841583de2dac1 --
> src/clean.bash src/Make.dist > /dev/null  # ~650ms
> ```
>
> The rev-list call with multiple paths takes over 3x longer than the
> sum of individual calls to it for the same files.
>
> Expectation: rev-list with multiple paths should take <= the sum of
> the time it takes to call it with each path individually (ideally <,
> since with the count limit it should be able to early-exit and search
> less commits for either path).
>
> Also reproduces without the -10 arg, or with a lower count (double
> instead of triple w/ -1), but these results are perhaps most
> surprising with a count present.
Previous: Kai KoponenNext: Junio C Hamano
Message 2 of 7 in “Perf bug: rev-list w/ 2+ paths relatively slow with commit-graph”
  1. Kai KoponenJun 23, 2025
  2. Kai KoponenJun 23, 2025
  3. Junio C HamanoJun 23, 2025
  4. Kai KoponenJun 23, 2025
  5. Junio C HamanoJun 23, 2025
  6. Lidong YanJun 24, 2025
  7. Junio C HamanoJun 24, 2025

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.