git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jonathan Nieder <jrnieder@gmail.com>
To: Phillip Susi <psusi@cfl.rr.com>
Cc: git@vger.kernel.org
Subject: Re: How to unpack recent objects?
Date: Thu, 16 Dec 2010 14:40:59 -0600	[thread overview]
Message-ID: <20101216204059.GA3830@burratino> (raw)
In-Reply-To: <4D0A77A7.9080702@cfl.rr.com>

Hi Phillip,

Phillip Susi wrote:

> It looks like you can use git-unpack-objects to unpack ALL objects, but
> how can you unpack only recent ones that you are likely to use while
> leaving the ancient stuff packed?  Ideally I want to unpack all file
> objects from the current commit, and a reasonable number of commit
> objects going back into the history so accessing them with checkout,
> diff, log, etc will be fast.

Have you tried the experiment?  You can pack all objects and then make
a few commits that do not reuse any blobs from before on top of that;
then "cp -a" the repository and use "git gc --aggressive" to get one
big pack as a control.  Then it should be possible to time checkout,
diff, log, etc[1].

It would also be interesting to know what the nature of these objects
are, in case it is possible to speed things up some other way.

Jonathan

[1] My uninformed guess is that the packed version will be faster,
because of cache effects among other reasons.  The point of loose
objects is to speed up writing objects rather than reading them.
But I'd be happy to be surprised.

  reply	other threads:[~2010-12-16 20:41 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-16 20:33 How to unpack recent objects? Phillip Susi
2010-12-16 20:40 ` Jonathan Nieder [this message]
2010-12-16 21:19 ` Nicolas Pitre
2010-12-16 22:06   ` Phillip Susi
2010-12-16 22:18     ` Jakub Narebski
2010-12-16 23:12     ` Nicolas Pitre

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=20101216204059.GA3830@burratino \
    --to=jrnieder@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=psusi@cfl.rr.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).