All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christian Couder <christian.couder@gmail.com>
To: ZheNing Hu <adlternative@gmail.com>
Cc: Junio C Hamano <gitster@pobox.com>,
	Hariom verma <hariom18599@gmail.com>,
	Git List <git@vger.kernel.org>
Subject: Re: [GSoC] Git Blog 11
Date: Wed, 4 Aug 2021 10:56:51 +0200	[thread overview]
Message-ID: <CAP8UFD3E9oR9E4S=f8iReKOnvVO_WrXVziyztHZJCiScUAxDRg@mail.gmail.com> (raw)
In-Reply-To: <CAOLTT8QDo1A4tRqU0w-yas8OxrHB6uQ_PECswUQtQ7yY2-iWgw@mail.gmail.com>

On Tue, Aug 3, 2021 at 4:48 AM ZheNing Hu <adlternative@gmail.com> wrote:
>
> ZheNing Hu <adlternative@gmail.com> 于2021年8月3日周二 上午10:37写道:
> >
> > Christian Couder <christian.couder@gmail.com> 于2021年8月2日周一 下午2:25写道:
> > >
> > > On Sun, Aug 1, 2021 at 8:45 AM ZheNing Hu <adlternative@gmail.com> wrote:
> > >
> > > > in some cases, this is the result of the performance test of
> > > > `t/perf/p1006-cat-file.sh`:
> > > >
> > > > ```
> > > > Test                                        HEAD~             HEAD
> > > > ------------------------------------------------------------------------------------
> > > > 1006.2: cat-file --batch-check              0.10(0.09+0.00)
> > > > 0.11(0.10+0.00) +10.0%
> > > > 1006.3: cat-file --batch-check with atoms   0.09(0.08+0.01)
> > > > 0.09(0.06+0.03) +0.0%
> > > > 1006.4: cat-file --batch                    0.62(0.58+0.04)
> > > > 0.57(0.54+0.03) -8.1%
> > > > 1006.5: cat-file --batch with atoms         0.63(0.60+0.02)
> > > > 0.52(0.49+0.02) -17.5%
> > > > ```
> > > >
> > > > We can see that the performance of `git cat-file --batch` has been a
> > > > certain improvement!
> > >
> > > Yeah, sure -8.1% or -17.5% is really nice! But why +10.0% for
> > > `cat-file --batch-check`?
> >
> > I think it's not very important. Because our optimization is skipping
> > parse_object_buffer(), git cat-file --batch-check will not set oi->contentp
> > by default, parse_object_buffer() will not be executed.

Do you think that if git cat-file --batch-check would set
oi->contentp, there would be no performance regression for `cat-file
--batch-check`?
Could you test that?

> > Therefore, we did
> > not optimize `git cat-file --batch-check` at all. 10% may be small enough
> > for git cat-file --batch-check. The noise of environment even will cover it...
>
> By the way, its performance may still be worse than "upstream/master", but it
> will be better than before optimization.

Nice that there is some improvement, but it would be better if it was
similar to "upstream/master".

> Test                                        HEAD~             this tree
> ------------------------------------------------------------------------------------
> 1006.2: cat-file --batch-check              0.10(0.09+0.01)
> 0.09(0.08+0.01) -10.0%
> 1006.3: cat-file --batch-check with atoms   0.09(0.07+0.02)
> 0.08(0.05+0.03) -11.1%
> 1006.4: cat-file --batch                    0.61(0.59+0.02)
> 0.53(0.51+0.02) -13.1%
> 1006.5: cat-file --batch with atoms         0.60(0.57+0.02)
> 0.52(0.49+0.03) -13.3%

Yeah, your patch seems to be an overall improvement when the
ref-filter code is used.

> Test                                        upstream/master   this
> tree
> ------------------------------------------------------------------------------------
> 1006.2: cat-file --batch-check              0.08(0.07+0.01)
> 0.10(0.07+0.02) +25.0%
> 1006.3: cat-file --batch-check with atoms   0.06(0.05+0.01)
> 0.08(0.08+0.00) +33.3%
> 1006.4: cat-file --batch                    0.49(0.46+0.03)
> 0.53(0.50+0.03) +8.2%
> 1006.5: cat-file --batch with atoms         0.48(0.45+0.03)
> 0.51(0.48+0.02) +6.3%

This means that some further performance improvements are still needed
both for --batch and --batch-check though.

Have you tried to see, using gprof or something else, what is still
degrading the performance compared to when the ref-filter code isn't
used?

  reply	other threads:[~2021-08-04  8:57 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-01  6:46 [GSoC] Git Blog 11 ZheNing Hu
2021-08-02  6:25 ` Christian Couder
2021-08-03  2:37   ` ZheNing Hu
2021-08-03  2:49     ` ZheNing Hu
2021-08-04  8:56       ` Christian Couder [this message]
2021-08-05  4:50         ` ZheNing Hu

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

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

  git send-email \
    --in-reply-to='CAP8UFD3E9oR9E4S=f8iReKOnvVO_WrXVziyztHZJCiScUAxDRg@mail.gmail.com' \
    --to=christian.couder@gmail.com \
    --cc=adlternative@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=hariom18599@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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.