git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Rafael Silva <rafaeloliveira.cs@gmail.com>
To: Derrick Stolee <stolee@gmail.com>
Cc: git@vger.kernel.org, Stefan Beller <stefanbeller@gmail.com>,
	Junio C Hamano <gitster@pobox.com>
Subject: Re: [PATCH 0/1] blame: remove unnecessary use of get_commit_info()
Date: Wed, 17 Feb 2021 15:42:09 +0100	[thread overview]
Message-ID: <gohp6k1rdf588m.fsf@cpm12071.fritz.box> (raw)
In-Reply-To: <ce29b876-a5dd-76e9-bf79-5b917249b508@gmail.com>


Derrick Stolee <stolee@gmail.com> 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

  parent reply	other threads:[~2021-02-17 14:43 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-16 16:31 [PATCH 0/1] blame: remove unnecessary use of get_commit_info() Rafael Silva
2021-02-16 16:31 ` [PATCH 1/1] " Rafael Silva
2021-02-16 17:10   ` Taylor Blau
2021-02-16 22:25     ` Rafael Silva
2021-02-16 18:35 ` [PATCH 0/1] " Derrick Stolee
2021-02-16 19:45   ` Junio C Hamano
2021-02-17 14:42   ` Rafael Silva [this message]
2021-02-17 14:54 ` [PATCH v2 " Rafael Silva
2021-02-17 14:54   ` [PATCH v2 1/1] " Rafael Silva

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=gohp6k1rdf588m.fsf@cpm12071.fritz.box \
    --to=rafaeloliveira.cs@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=stefanbeller@gmail.com \
    --cc=stolee@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).