On 8/20/2018 6:13 PM, Junio C Hamano wrote:
An early preview release Git v2.19.0-rc0 is now available for
testing at the usual places.
As part of testing the release candidate, I ran the performance suite
against a fresh clone of the Linux repository using v2.18.0 and
v2.19.0-rc0 (also: GIT_PERF_REPEAT_COUNT=10). I found a few nice
improvements, but I also found a possible regression in tree walking. I
say "tree walking" because it was revealed using p0001-rev-list.sh, but
only with the "--objects" flag. I also saw some similar numbers on 'git
log --raw'.
Test v2.18.0 v2.19.0-rc0
--------------------------------------------------------------------------------------------
0001.1: rev-list --all 6.69(6.33+0.35) 6.52(6.20+0.31) -2.5%
0001.2: rev-list --all --objects 52.14(47.43+1.02) 57.15(51.09+1.18) +9.6%
To me, 9.6% seems out of the range of just noise for this length of a
command, but I could be wrong. Could anyone else try to repro these results?
(This may also not just be tree-walking, but general pack-file loading
and decompression, since I computed and stored a commit-graph file.
Hence, commits are not being parsed from the pack-file by either command.)
Aside: the perf results were not all bad. Here was an interesting
improvement:
Test v2.18.0 v2.19.0-rc0
--------------------------------------------------------------------------------------------
0002.1: read_cache/discard_cache 1000 times 5.63(5.30+0.32)
3.34(3.03+0.30) -40.7%
Thanks,
-Stolee