Re: [PATCH 0/1] blame: remove unnecessary use of get_commit_info()
- From
Rafael Silva <rafaeloliveira.cs@gmail.com>
- Date
- Feb 17, 2021, 14:42 UTC
- Message-ID
- <gohp6k1rdf588m.fsf@cpm12071.fritz.box>
- In-Reply-To
- <ce29b876-a5dd-76e9-bf79-5b917249b508@gmail.com>
Derrick Stolee <stolee@gmail.com> writes:
Show 23 quoted lines
> 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