git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Packfile can't be mapped

From
Nicolas Pitre <nico@cam.org>
Date
Aug 28, 2006, 16:43 UTC
Message-ID
<Pine.LNX.4.64.0608281236130.3683@localhost.localdomain>
In-Reply-To
<9e4733910608280844q41ea1a61r33c3eadc3e942604@mail.gmail.com>
On Mon, 28 Aug 2006, Jon Smirl wrote:
Show 17 quoted lines
> On 8/28/06, Nicolas Pitre <nico@cam.org> 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?
> 
> The dictionaries are only 4KB. But they have to match up with the
> objects compressed using them. If you bring an object straight down
> out of a dictionary based pack and make it standalone you won't be
> able to read it. You need the dictionary to decode it. What if the
> local and remote packs have been packed using two different
> dictionaries? You can't directly move objects between them.

I guess we'll be able to reuse the same dictionary when objects are all from the same pack.

If not then they could be recompressed which is costly but never as much as delta matching initially was when it was always done.

Anyway let's look at the size saving first. The implied costs could then be evaluated and weighted accordingly.

Nicolas
Previous: Jon SmirlNext: Shawn Pearce
Message 9 of 16 in “Packfile can't be mapped”
  1. Jon SmirlAug 28, 2006
  2. Shawn PearceAug 28, 2006
  3. Nicolas PitreAug 28, 2006
  4. Linus TorvaldsAug 28, 2006
  5. Shawn PearceAug 28, 2006
  6. Jon SmirlAug 28, 2006
  7. Nicolas PitreAug 28, 2006
  8. Jon SmirlAug 28, 2006
  9. Nicolas PitreAug 28, 2006
  10. Shawn PearceAug 28, 2006
  11. Nicolas PitreAug 28, 2006
  12. Shawn PearceAug 28, 2006
  13. Shawn PearceAug 28, 2006
  14. Nicolas PitreAug 28, 2006
  15. Shawn PearceAug 29, 2006
  16. Shawn PearceAug 29, 2006

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.