Derrick Stolee <stolee@xxxxxxxxx> writes: > On 2/16/2021 11:31 AM, Rafael Silva wrote: >> Running Git PERF suite in linux.git, I've got a subtle performance >> improvement for some runs: >> >> # git.328c109303 - compiled git from commit 328c109303 >> # git.blame-patched - compiled git from commit 328c109303 + this patch >> Test git.328c109303 git.blame-patched >> ------------------------------------------------------------------------------------- >> blame --color-by-age kernel/fork.c 1.96(1.81+0.15) 1.95(1.80+0.14) -0.5% >> blame --color-by-age kernel/sys.c 1.67(1.53+0.13) 1.66(1.52+0.14) -0.6% >> blame --color-by-age mm/slab.c 2.16(2.00+0.16) 2.15(1.99+0.15) -0.5% >> blame --color-by-age lib/packing.c 0.20(0.14+0.05) 0.20(0.14+0.05) +0.0% >> blame --color-by-age drivers/cdrom/cdrom.c 1.62(1.46+0.15) 1.62(1.46+0.15) +0.0% >> blame --color-by-age crypto/crypto_engine.c 0.37(0.29+0.06) 0.36(0.28+0.06) -2.7% >> blame --color-by-age net/ipv4/ip_forward.c 1.49(1.35+0.13) 1.48(1.34+0.13) -0.7% > > Have you updated the commit-graph with changed-path Bloom filters in > your copy of linux.git before running the perf tests? You might get > smaller numbers overall (both sides) but make the difference for this > patch be more pronounced: > > git commit-graph write --reachable --changed-paths > Thanks for pointing this out. I didn't updated the commit-graph in my copy of linux.git when I ran the perf tests and indeed with the commit-graph updated, the execution time is faster now. Here's the results (best out of 3): # git.328c109303 - compiled git from commit 328c109303 # git.blame-patched - compiled git from commit 328c109303 + this patch Test git.328c109303 git.blame-patched ------------------------------------------------------------------------------------ blame --color-by-age kernel/fork.c 1.13(0.96+0.17) 1.12(0.96+0.15) -0.9% blame --color-by-age kernel/sys.c 1.00(0.81+0.18) 0.98(0.81+0.15) -2.0% blame --color-by-age mm/slab.c 1.51(1.33+0.18) 1.49(1.31+0.17) -1.3% blame --color-by-age lib/packing.c 0.13(0.05+0.07) 0.12(0.04+0.07) -7.7% blame --color-by-age drivers/cdrom/cdrom.c 0.62(0.48+0.12) 0.61(0.48+0.12) -1.6% blame --color-by-age crypto/crypto_engine.c 0.16(0.08+0.08) 0.16(0.07+0.08) +0.0% blame --color-by-age net/ipv4/ip_forward.c 0.43(0.30+0.13) 0.42(0.29+0.11) -2.3% For the "kernel/fork.c" example, there is around 1.7x improvement. The percentage comparison is also bigger than it was before the commit-graph file was updated with the changed paths Bloom Filter as you expected. For the "net/ipv4/ip_forward.c" there a 3.4x improvements which I believe is the biggest one in my tests. -- Thanks Rafael