From: Jeff King <peff@peff.net>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org
Subject: Re: diffcore-rename performance mode
Date: Tue, 18 Sep 2007 04:54:13 -0400 [thread overview]
Message-ID: <20070918085413.GA11751@coredump.intra.peff.net> (raw)
In-Reply-To: <7vsl5cwe6p.fsf@gitster.siamese.dyndns.org>
On Tue, Sep 18, 2007 at 01:49:50AM -0700, Junio C Hamano wrote:
> > However, keeping around _just_ the
> > cnt_data caused only about 100M of extra memory consumption (and gave
> > the same performance boost).
>
> That would be an interesting and relatively low-hanging optimization.
OK, I will work up a patch. Is it worth making it configurable? Since it
is a space-time tradeoff, if you are tight on memory, it might actually
hurt performance. However, I have only looked at the numbers for my
massive data set...I can produce memory usage numbers for the kernel,
too.
> I think it was just a hash table with linear overflow (if your
> spot is occupied by somebody else, you look for the next
> available vacant spot -- works only if you do not ever delete
> items from the table) but sorry, I do not recall the rationale
> for picking that data structure. I vaguely recall I did some
> measurement between that and the usual "an array that is indexed
> with a hash value that holds heads of linked lists" and pointer
> chasing appeared quite cache-unfriendly to the point that it
> actually degraded performance, but did not try very hard to
> optimize it.
I thought we were holding counts of hashes, in which case there _is_ no
overflow. We only care if you hit the hash fingerprint or not. But
perhaps I am mistaken...I will have to look more closely at the code.
-Peff
next prev parent reply other threads:[~2007-09-18 8:54 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-09-18 8:23 diffcore-rename performance mode Jeff King
2007-09-18 8:49 ` Junio C Hamano
2007-09-18 8:54 ` Jeff King [this message]
2007-09-18 8:58 ` Junio C Hamano
2007-09-18 9:01 ` Jeff King
2007-09-18 9:17 ` Junio C Hamano
2007-09-18 11:20 ` Johannes Schindelin
2007-09-25 16:38 ` Jeff King
2007-09-25 19:06 ` Jeff King
2007-09-25 19:10 ` Andreas Ericsson
2007-09-25 19:32 ` David Kastrup
2007-09-25 19:52 ` Jeff King
2007-09-18 22:12 ` Linus Torvalds
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=20070918085413.GA11751@coredump.intra.peff.net \
--to=peff@peff.net \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.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 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 NNTP newsgroup(s).