From: Nicolas Pitre <nico@cam.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: "Shawn O. Pearce" <spearce@spearce.org>,
Junio C Hamano <junkio@cox.net>,
git@vger.kernel.org
Subject: Re: [PATCH] Limit the size of the new delta_base_cache
Date: Mon, 19 Mar 2007 12:54:12 -0400 (EDT) [thread overview]
Message-ID: <alpine.LFD.0.83.0703191248360.18328@xanadu.home> (raw)
In-Reply-To: <alpine.LFD.0.83.0703191218190.18328@xanadu.home>
On Mon, 19 Mar 2007, Nicolas Pitre wrote:
> And because we usually walk objects from newest to oldest, and because
> deltas are usually oriented in the same direction, we only need to tweak
> the current eviction loop a bit so on average the oldest objects are
> evicted first so next time around the current base will still be there
> for the next delta depth. Given the nature of the hash containing the
> object's offset that means starting the loop at the next entry index
> instead of zero which should do the trick pretty well.
OK. Two flaws above: to be clear it is the newest objects in terms of
absolute age should be evicted first, which means the oldest to have
been cached. Then the hash cannot be representative of the object
ordering because it is reduced to 8 bits and objects are often enough
more than 256 bytes apart to make this hash based ordering completely
random. A simple LRU might be quite effective instead.
Nicolas
next prev parent reply other threads:[~2007-03-19 16:54 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-03-19 5:14 [PATCH] Limit the size of the new delta_base_cache Shawn O. Pearce
2007-03-19 16:10 ` Linus Torvalds
2007-03-19 16:41 ` Nicolas Pitre
2007-03-19 16:54 ` Nicolas Pitre [this message]
2007-03-19 17:18 ` Linus Torvalds
2007-03-19 17:07 ` Linus Torvalds
2007-03-19 17:17 ` Linus Torvalds
2007-03-19 18:08 ` Nicolas Pitre
-- strict thread matches above, loose matches on Subject: below --
2007-03-19 4:48 Shawn O. 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=alpine.LFD.0.83.0703191248360.18328@xanadu.home \
--to=nico@cam.org \
--cc=git@vger.kernel.org \
--cc=junkio@cox.net \
--cc=spearce@spearce.org \
--cc=torvalds@linux-foundation.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 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).