From: Ævar Arnfjörð Bjarmason Date: Tue, 29 Mar 2022 11:45:17 GMT Subject: Re: [PATCH v4 00/13] core.fsyncmethod: add 'batch' mode for faster fsyncing of multiple objects Message-ID: <220329.868rst2cei.gmgdl@evledraar.gmail.com> In-Reply-To: On Tue, Mar 29 2022, Neeraj K. Singh via GitGitGadget wrote: > V4 changes: > > * Make ODB transactions nestable. > * Add an ODB transaction around writing out the cached tree. > * Change update-index to use a more straightforward way of managing ODB > transactions. > * Fix missing 'local's in lib-unique-files > * Add a per-iteration setup mechanism to test_perf. > * Fix camelCasing in warning message. Despite my https://lore.kernel.org/git/220329.86czi52ekn.gmgdl@evledraar.gmail.com/ I eventually gave up on trying to extract meaningful numbers from t/perf, I can never quite find out if they're because of its shellscripts shenanigans or actual code. (And also; I realize I didn't follow-up on https://lore.kernel.org/git/CANQDOdcFN5GgOPZ3hqCsjHDTiRfRpqoAKxjF1n9D6S8oD9--_A@mail.gmail.com/, sorry): But I came up with this (uses my thin https://gitlab.com/avar/git-hyperfine/ wrapper, and you should be able to apt get hyperfine): #!/bin/sh set -xe if ! test -d /tmp/scalar.git then git clone --bare https://github.com/Microsoft/scalar.git /tmp/scalar.git mv /tmp/scalar.git/objects/pack/*.pack /tmp/scalar.git/my.pack fi git hyperfine \ --warmup 1 -r 3 \ -L rev neeraj-v4,avar-RFC \ -s 'make CFLAGS=-O3 && rm -rf repo && git init repo && cp -R t repo/ && git ls-files -- t >repo/.git/to-add.txt' \ -p 'rm -rf repo/.git/objects/* repo/.git/index' \ $@'./git -c core.fsync=loose-object -c core.fsyncMethod=batch -C repo update-index --add --stdin repo/.git/to-add.txt -p rm -rf repo/.git/objects/* repo/.git/index ./git -c core.fsync=loose-object -c core.fsyncMethod=batch -C repo update-index --add --stdin