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
next prev parent 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.