All of lore.kernel.org
 help / color / mirror / Atom feed
From: "SZEDER Gábor" <szeder.dev@gmail.com>
To: Derrick Stolee <stolee@gmail.com>
Cc: git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>,
	Thomas Rast <tr@thomasrast.ch>
Subject: Re: [RFC PATCH 0/5] line-log: towards a more responsive, incremental 'git log -L'
Date: Wed, 21 Aug 2019 13:07:17 +0200	[thread overview]
Message-ID: <20190821110717.GX20404@szeder.dev> (raw)
In-Reply-To: <6a576e13-79e6-43be-c4a8-065e7a8310ea@gmail.com>

On Mon, Aug 19, 2019 at 12:12:32PM -0400, Derrick Stolee wrote:
> On 8/19/2019 11:02 AM, SZEDER Gábor wrote:
> > On Mon, Aug 19, 2019 at 10:50:48AM -0400, Derrick Stolee wrote:
> >> Note that I don't include the "without patch" numbers. For some
> >> reason the path provided is particularly nasty and caused 20,000+
> >> missing blobs to be downloaded one-by-one (remember: VFS for Git
> >> has many partial-clone-like behaviors). I canceled my test after 55
> >> minutes. I'll dig in more to see what is going on, since only 37
> >> commits actually change that path.
> > 
> > Don't bother digging into it, I know why it happens (and how to avoid
> > it! :), but don't have the time right now to explain.
> 
> Great!  I look forward to your explanation and fix later.
> 
> Just to be sure we've got the same issue, here is a section of the
> call stack in the hot portion:
> 
> line_log_filter
> + queue_diffs
>   + diffcore_std
>     + diffcore_rename
>       + diff_populate_filespec

Hmm, interesting.  Certainly most of the time is wasted in
queue_diffs(), but in my perf measurements diff_tree_oid() is
responsible for most of that, not diffcore_std().  This might still be
the same issue, though, but perhaps VFS for Git shifts the balance.

We'll see, here are my patches to address that diff_tree_oid()
slowness:

https://public-inbox.org/git/20190821110424.18184-1-szeder.dev@gmail.com/T/


  reply	other threads:[~2019-08-21 11:07 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-18 18:27 [RFC PATCH 0/5] line-log: towards a more responsive, incremental 'git log -L' SZEDER Gábor
2019-08-18 18:27 ` [RFC PATCH 1/5] completion: offer '--(no-)patch' among 'git log' options SZEDER Gábor
2019-08-18 18:27 ` [RFC PATCH 2/5] line-log: remove unused fields from 'struct line_log_data' SZEDER Gábor
2019-08-19 11:53   ` Derrick Stolee
2019-08-18 18:27 ` [RFC PATCH 3/5] t4211-line-log: add tests for parent oids SZEDER Gábor
2019-08-18 18:28 ` [RFC PATCH 4/5] line-log: more responsive, incremental 'git log -L' SZEDER Gábor
2019-08-19 12:34   ` SZEDER Gábor
2019-08-19 12:43   ` Derrick Stolee
2019-08-18 18:28 ` [RFC PATCH 5/5] line-log: try to use generation number-based topo-ordering SZEDER Gábor
2019-08-19 12:00 ` [RFC PATCH 0/5] line-log: towards a more responsive, incremental 'git log -L' Derrick Stolee
2019-08-19 13:03   ` SZEDER Gábor
2019-08-19 14:50     ` Derrick Stolee
2019-08-19 15:02       ` SZEDER Gábor
2019-08-19 16:12         ` Derrick Stolee
2019-08-21 11:07           ` SZEDER Gábor [this message]
2020-04-09 12:17 ` Derrick Stolee
2020-04-24  9:02   ` SZEDER Gábor

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=20190821110717.GX20404@szeder.dev \
    --to=szeder.dev@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=stolee@gmail.com \
    --cc=tr@thomasrast.ch \
    /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.