From: Sam Vilain <sam@vilain.net>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: Nick Edelen <sirnot@gmail.com>,
Michael J Gruber <git@drmicha.warpmail.net>,
Junio C Hamano <gitster@pobox.com>, Jeff King <peff@peff.net>,
"Shawn O. Pearce" <spearce@spearce.org>,
Andreas Ericsson <exon@op5.se>,
Christian Couder <christian@couder.net>,
"git@vger.kernel.org" <git@vger.kernel.org>
Subject: Re: [PATCH 0/5] Suggested for PU: revision caching system to significantly speed up packing/walking
Date: Fri, 07 Aug 2009 14:47:04 +1200 [thread overview]
Message-ID: <4A7B95A8.2010000@vilain.net> (raw)
In-Reply-To: <alpine.DEB.1.00.0908062030340.8306@pacific.mpi-cbg.de>
Johannes Schindelin wrote:
>> the short answer is that cache slices are totally independant of pack
>> files.
>>
>
> My idea with that was that you already have a SHA-1 map in the pack index,
> and if all you want to be able to accelerate the revision walker, you'd
> probably need something that adds yet another mapping, from commit to
> parents and tree, and from tree to sub-tree and blob (so you can avoid
> unpacking commit and tree objects).
>
Tying indexes together like that is not a good idea in the database
world. Especially as in this case as Nick mentions, the domain is subtly
different (ie pack vs dag). Unfortunately you just can't try to pretend
that they will always be the same; you can't force a full repack on
every ref change!
> Still, there is some redundancy between the pack index and your cache, as
> you have to write out the whole list of SHA-1s all over again. I guess it
> is time to look at the code instead of asking stupid questions.
>
"Disk is cheap" :-) It should be a welcome trade-off; perhaps it's worth
including numbers about how big the indexes are with the time
statistics. It sounds though like it should be a significant win as a
single index can be used to accelerate a wide range of rev-list
operations, and store indexes for many different questions that can be
asked.
Sam
next prev parent reply other threads:[~2009-08-07 2:47 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-06 9:55 [PATCH 0/5] Suggested for PU: revision caching system to significantly speed up packing/walking Nick Edelen
2009-08-06 14:48 ` Johannes Schindelin
2009-08-06 14:58 ` Michael J Gruber
2009-08-06 17:39 ` Nick Edelen
2009-08-06 19:06 ` Johannes Schindelin
2009-08-06 20:01 ` Nick Edelen
2009-08-06 20:30 ` Nick Edelen
2009-08-06 20:32 ` Shawn O. Pearce
2009-08-06 23:35 ` A Large Angry SCM
2009-08-06 23:37 ` Shawn O. Pearce
2009-08-06 23:43 ` A Large Angry SCM
2009-08-07 0:15 ` Nick Edelen
2009-08-07 6:05 ` Johannes Schindelin
2009-08-07 4:42 ` Nicolas Pitre
2009-08-07 2:47 ` Sam Vilain [this message]
2009-08-07 4:35 ` Nicolas Pitre
2009-08-07 6:08 ` Johannes Schindelin
2009-08-07 14:18 ` Nicolas Pitre
2009-08-08 15:18 ` Johannes Schindelin
2009-08-08 16:07 ` Junio C Hamano
2009-08-08 23:54 ` Sam Vilain
2009-08-09 2:37 ` Nicolas Pitre
2009-08-09 13:42 ` Nick Edelen
2009-08-07 6:12 ` Johannes Schindelin
2009-08-07 15:00 ` Nicolas Pitre
2009-08-07 22:02 ` Nick Edelen
2009-08-07 22:48 ` Junio C Hamano
2009-08-07 22:53 ` Nick Edelen
2009-08-08 3:11 ` Junio C Hamano
2009-08-08 7:27 ` Nick Edelen
2009-08-08 7:30 ` Jeff King
2009-08-08 7:40 ` Nick Edelen
2009-08-08 2:50 ` Jeff King
2009-08-08 18:57 ` Junio C Hamano
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=4A7B95A8.2010000@vilain.net \
--to=sam@vilain.net \
--cc=Johannes.Schindelin@gmx.de \
--cc=christian@couder.net \
--cc=exon@op5.se \
--cc=git@drmicha.warpmail.net \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=peff@peff.net \
--cc=sirnot@gmail.com \
--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.