On Mon, Jan 13, 2025 at 5:11 PM Askar Safin <safinaskar@xxxxxxxxxxxx> wrote: > > Hi. This is bug report. "git bisect" is unacceptable slow on Linux repo. That may be a bit inflammatory ;) > > Steps to reproduce: > > === > d-user@comp:/tmp/t$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git > Cloning into 'linux'... > remote: Enumerating objects: 13079335, done. > remote: Counting objects: 100% (153/153), done. > remote: Compressing objects: 100% (108/108), done. > remote: Total 13079335 (delta 84), reused 70 (delta 45), pack-reused 13079182 > Receiving objects: 100% (13079335/13079335), 5.18 GiB | 13.72 MiB/s, done. > Resolving deltas: 100% (10454171/10454171), done. > Updating files: 100% (87234/87234), done. > d-user@comp:/tmp/t$ cd linux > d-user@comp:/tmp/t/linux$ git bisect start > status: waiting for both good and bad commits > d-user@comp:/tmp/t/linux$ git bisect new v6.13-rc7 > status: waiting for good commit(s), bad commit known > d-user@comp:/tmp/t/linux$ time -p git bisect old v3.0 > Bisecting: 535608 revisions left to test after this (roughly 19 steps) > [62606c224d72a98c35d21a849f95cccf95b0a252] Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 > real 1293.32 > user 1291.70 > sys 1.41 > === FWIW: $ time git rev-list --count v3.0...v6.13-rc7 1070175 git rev-list --count v3.0...v6.13-rc7 13,57s user 1,41s system 96% cpu 15,466 total That's a large number of revisions to bisect. Further, # --force needed because my filesystem is case-insensitive :eyeroll: $ time git checkout [--force] 62606c224d72a98c35d21a849f95cccf95b0a252 git checkout --force 62606c224d72a98c35d21a849f95cccf95b0a252 7,94s user 18,54s system 96% cpu 27,360 total Using pathspecs or a smaller commit range should help speed up the start. (On a recent git, the helper is gone, so I'm not sure where the time is spent—but I do notice that `git bisect start v6.13-rc7 v3.0` is slow enough that I've killed it rather than wait.) -- D. Ben Knoble