From: Andreas Ericsson <ae@op5.se>
To: Junio C Hamano <junkio@cox.net>
Cc: Linus Torvalds <torvalds@osdl.org>, git@vger.kernel.org
Subject: Re: [PATCH] pack-objects: reuse data from existing pack.
Date: Thu, 16 Feb 2006 09:32:42 +0100 [thread overview]
Message-ID: <43F438AA.1040508@op5.se> (raw)
In-Reply-To: <7vbqx8m62q.fsf@assigned-by-dhcp.cox.net>
Junio C Hamano wrote:
> When generating a new pack, notice if we have already the wanted
> object in existing packs. If the object has a delitified
> representation, and its base object is also what we are going to
> pack, then reuse the existing deltified representation
> unconditionally, bypassing all the expensive find_deltas() and
> try_deltas() routines.
>
> Also, when writing out such deltified representation and
> undeltified representation, if a matching data already exists in
> an existing pack, just write it out without uncompressing &
> recompressing.
>
> Without this patch:
>
> $ git-rev-list --objects v1.0.0 >RL
> $ time git-pack-objects p <RL
>
> Generating pack...
> Done counting 12233 objects.
> Packing 12233 objects....................
> 60a88b3979df41e22d1edc3967095e897f720192
>
> real 0m32.751s
> user 0m27.090s
> sys 0m2.750s
>
> With this patch:
>
> $ git-rev-list --objects v1.0.0 >RL
> $ time ../git.junio/git-pack-objects q <RL
>
> Generating pack...
> Done counting 12233 objects.
> Packing 12233 objects.....................
> 60a88b3979df41e22d1edc3967095e897f720192
> Total 12233, written 12233, reused 12177
>
> real 0m4.007s
> user 0m3.360s
> sys 0m0.090s
>
Whoa! Columbus and the egg. Strange noone saw it before. It's so obvious
when you shove it under the nose like that. :)
Now that pack-creation went from bizarrely expensive to insanely cheap
(well, comparable to "tar czf" anyways), what's BCP for packing a public
repository? Always one mega-pack and never worry, or should one still
use incremental and sometimes overlapping pack-files?
--
Andreas Ericsson andreas.ericsson@op5.se
OP5 AB www.op5.se
Tel: +46 8-230225 Fax: +46 8-230231
next prev parent reply other threads:[~2006-02-16 8:32 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-02-15 8:39 [FYI] pack idx format Junio C Hamano
2006-02-15 11:16 ` Johannes Schindelin
2006-02-15 16:46 ` Nicolas Pitre
2006-02-16 1:58 ` Junio C Hamano
2006-02-16 1:43 ` [PATCH] pack-objects: reuse data from existing pack Junio C Hamano
2006-02-16 1:45 ` [PATCH] packed objects: minor cleanup Junio C Hamano
2006-02-16 3:41 ` [PATCH] pack-objects: reuse data from existing pack Nicolas Pitre
2006-02-16 3:59 ` Junio C Hamano
2006-02-16 3:55 ` Linus Torvalds
2006-02-16 4:07 ` Junio C Hamano
2006-02-16 8:32 ` Andreas Ericsson [this message]
2006-02-16 9:13 ` Junio C Hamano
2006-02-17 4:30 ` Junio C Hamano
2006-02-17 10:37 ` [PATCH] pack-objects: finishing touches Junio C Hamano
2006-02-18 6:50 ` [PATCH] pack-objects: avoid delta chains that are too long Junio C Hamano
2006-02-17 15:39 ` [PATCH] pack-objects: reuse data from existing pack Linus Torvalds
2006-02-17 18:18 ` 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=43F438AA.1040508@op5.se \
--to=ae@op5.se \
--cc=git@vger.kernel.org \
--cc=junkio@cox.net \
--cc=torvalds@osdl.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).