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

Fwd: Git SCM and zlib dictionaries

From
Jon Smirl <jonsmirl@gmail.com>
Date
Aug 15, 2006, 15:19 UTC
Message-ID
<9e4733910608150819l6ba602e2q2f52a5693a2bac4d@mail.gmail.com>
In-Reply-To
<00B40C71-72B6-499B-806B-64A140136944@alumni.caltech.edu>
---------- Forwarded message ----------
From: Mark Adler <madler@alumni.caltech.edu>
Date: Aug 15, 2006 10:43 AM
Subject: Re: Git SCM and zlib dictionaries
To: Jon Smirl <jonsmirl@gmail.com>
Cc: Jean-loup Gailly <jloup@gzip.org>
On Aug 15, 2006, at 6:11 AM, Jon Smirl wrote:
> What we are doing is similar to full-text
> search indexing.

If the point of very small (1Kish) compressed chunks is for random access and individual decompression of those pieces, then there are other approaches. You can for example compress many of them together for better compression (say 32), and accept some speed degradation by having to decompress on average half (16) of them to get to the one you want.

------------------------------ We have delta runs of about 20 revsisions, compress those 20 blobs as a group instead of individually. The pack index would point all 20 sha1's to the same blob with a different type code. You had to load and unzip most of these objects anyway to compute the revision off from the diffs. Putting them into a single zip means that they share a single compression table. -------------------------------

Or you can process the whole thing to create a custom coding scheme, as illustrated in "Managing Gigabytes":

     http://www.cs.mu.oz.au/mg/
mark
-- 
Jon Smirl
jonsmirl@gmail.com
Message 1 of 1 in “Fwd: Git SCM and zlib dictionaries”
  1. Jon SmirlAug 15, 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.