From: Shawn Pearce <spearce@spearce.org>
To: Nicolas Pitre <nico@cam.org>
Cc: Linus Torvalds <torvalds@osdl.org>,
git@vger.kernel.org, Jon Smirl <jonsmirl@gmail.com>
Subject: Re: Packfile can't be mapped
Date: Mon, 28 Aug 2006 12:48:55 -0400 [thread overview]
Message-ID: <20060828164855.GB22451@spearce.org> (raw)
In-Reply-To: <Pine.LNX.4.64.0608281026110.3683@localhost.localdomain>
Nicolas Pitre <nico@cam.org> wrote:
> On Mon, 28 Aug 2006, Shawn Pearce wrote:
> > Of course the major problem with pack-local, stream global
> > dictionaries is it voids the ability to reuse that zlib'd content
> > from that pack in another pack without wholesale copying the
> > dictionary as well. This is an issue for servers which want to
> > copy out the pack entry without recompressing it but also want the
> > storage savings from the global dictionaries.
>
> Why would copying the dictionary as well be a problem? How large might
> it be? Can it be stored deflated itself?
Largest size is like 200 bytes smaller than the window size. Times 3
as we would want to store 3 dictionaries, though maybe only 2 if the
blob dictionary proves to be worse than not having one at all for a
given project. Since its just a binary buffer holding bytes which
frequently appear in our compressed objects its easily deflatable;
especially when you consider its primarily storing US-ASCII text.
I was definately planning on the dictionary being deflated in the
pack.
We could alawys use the SHA1 of a dictionary to signal to the client
what dictionary was in use. If the dictionary itself was treated
like any other SHA1 object then we might be able to transfer the
server's current dictionaries to the client along with everything
else in the same pack if the client doesn't have the necessary
dictionary yet.
--
Shawn.
next prev parent reply other threads:[~2006-08-28 16:49 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-08-28 1:04 Packfile can't be mapped Jon Smirl
2006-08-28 2:47 ` Shawn Pearce
2006-08-28 4:27 ` Nicolas Pitre
2006-08-28 4:36 ` Linus Torvalds
2006-08-28 6:00 ` Shawn Pearce
2006-08-28 14:15 ` Jon Smirl
2006-08-28 14:40 ` Nicolas Pitre
2006-08-28 15:44 ` Jon Smirl
2006-08-28 16:43 ` Nicolas Pitre
2006-08-28 16:48 ` Shawn Pearce [this message]
2006-08-28 14:48 ` Nicolas Pitre
2006-08-28 5:33 ` Shawn Pearce
2006-08-28 16:42 ` Shawn Pearce
2006-08-28 17:19 ` Nicolas Pitre
2006-08-29 4:52 ` Shawn Pearce
2006-08-29 5:33 ` Shawn 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=20060828164855.GB22451@spearce.org \
--to=spearce@spearce.org \
--cc=git@vger.kernel.org \
--cc=jonsmirl@gmail.com \
--cc=nico@cam.org \
--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).