All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Kastrup <dak@gnu.org>
To: Shawn Pearce <spearce@spearce.org>
Cc: git <git@vger.kernel.org>
Subject: Re: [PATCH 1/2] blame: large-scale performance rewrite
Date: Sat, 26 Apr 2014 23:39:19 +0200	[thread overview]
Message-ID: <87vbtv7ou0.fsf@fencepost.gnu.org> (raw)
In-Reply-To: <CAJo=hJs-Nn=o=aGS_3bO9mnxb+urst6JTZf29_qAejBipz_ZHg@mail.gmail.com> (Shawn Pearce's message of "Sat, 26 Apr 2014 10:56:22 -0700")

Shawn Pearce <spearce@spearce.org> writes:

> On Sat, Apr 26, 2014 at 10:30 AM, David Kastrup <dak@gnu.org> wrote:
>> David Kastrup <dak@gnu.org> writes:
>>
>> Here's some example:
>>
>> dak@lola:/usr/local/tmp/wortliste$ time git blame -n -s wortliste >/tmp/wl1
>>
>> real    15m47.118s
>> user    14m39.928s
>> sys     1m1.872s
>
> Hah, this is quite the torture test. git before your patch is taking
> 22m11s on my laptop to compute this. (This was with default options, I
> noticed you passed -s to suppress the author formatting.)
>
>> dak@lola:/usr/local/tmp/wortliste$ time ../git/git blame -n -s wortliste >/tmp/wl2
>>
>> real    3m40.947s
>> user    2m40.296s
>> sys     0m59.440s
>
> Meanwhile JGit computed in 4m30s on the same hardware. So I guess we
> are "fine".

At least the stuff I fixed with regard to performance would seem to be
done right in JGit to start with.

> Its still not as fast as I want it to be. :-)

Most of the diff data/CRC is computed over and over because of the
blackbox use of xdiff.  And then the delta-chain storage is packing
stuff based on CRCs as well (not sure whether it keeps them around for
unpacking).  So there is a lot that could likely be improved while
keeping the same basic algorithms, by cracking open the black boxes of
the xdiff engine and the delta-chain coding.

-- 
David Kastrup

  reply	other threads:[~2014-04-27 12:21 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-25 23:56 [PATCH 1/2] blame: large-scale performance rewrite David Kastrup
2014-04-25 23:56 ` [PATCH 2/2] Mention "git blame" improvements in release notes David Kastrup
2014-04-26 17:28   ` Junio C Hamano
2014-04-26 18:28     ` David Kastrup
     [not found]       ` <xmqqzjj5s8hs.fsf@gitster.dls.corp.google.com>
2014-04-28 17:39         ` David Kastrup
2014-04-28 19:35           ` Junio C Hamano
2014-04-28 19:57             ` David Kastrup
2014-04-28 20:05             ` Ronnie Sahlberg
2014-04-28 20:26               ` David Kastrup
2014-04-26  0:53 ` [PATCH 1/2] blame: large-scale performance rewrite Shawn Pearce
2014-04-26  7:48   ` David Kastrup
2014-04-26 16:01     ` Shawn Pearce
2014-04-26 16:50       ` David Kastrup
2014-04-26 17:09         ` Shawn Pearce
2014-04-26 17:22           ` David Kastrup
2014-04-26 17:02       ` David Kastrup
2014-04-26 17:30         ` David Kastrup
2014-04-26 17:56           ` Shawn Pearce
2014-04-26 21:39             ` David Kastrup [this message]
2014-04-27 17:53               ` Shawn Pearce

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=87vbtv7ou0.fsf@fencepost.gnu.org \
    --to=dak@gnu.org \
    --cc=git@vger.kernel.org \
    --cc=spearce@spearce.org \
    /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.