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

Re: [PATCH 2/2] use zstd zlib wrapper

From
Jeff King <peff@peff.net>
Date
Sep 15, 2016, 06:28 UTC
Message-ID
<20160915062845.sfackmnezb7oy3j5@sigill.intra.peff.net>
In-Reply-To
<CAGZ79kYcB-x40_w1fcWL3NSp8JU9SPrTAEiru-6Jpb7fDM1Y0w@mail.gmail.com>
On Wed, Sep 14, 2016 at 06:22:17PM -0700, Stefan Beller wrote:
Show 5 quoted lines
> > Disappointingly, the answer seems to be "no".
> 
> After having looked at the data, I disagree with the conclusion.
> And for that I think we need to reason about the frequency
> of the operations happening.

I definitely agree that reads outnumber writes, and it's OK to have an asymmetric tradeoff between the two. zstd5 isn't _too_ bad in that respect. I guess I was just disappointed that the pack size was still bigger, as I was really hoping to see some speed tradeoff without getting a worse pack.

The other thing to weigh against is "if we were designing it today" versus "is it worth the compatibility headaches now". A 6% improvement in "rev-list --objects" is not that amazing for a data format change. Bitmaps were an _easier_ data format change and are more like a 99% speedup.

They do not apply to every operations, but we may be able to do similar space/time tradeoffs that are easier to handle in terms of backwards compatibility, and which yield bigger results.

-Peff
Previous: Stefan BellerNext: Johannes Schindelin
Message 7 of 8 in “Journal of Failed Git Experiments, Volume 1”
  1. Jeff KingSep 14, 2016
  2. 1/2 obj_hash: convert to a critbit treeJeff King, Sep 14, 2016
  3. Stefan BellerSep 15, 2016
  4. Jeff KingSep 15, 2016
  5. 2/2 use zstd zlib wrapperJeff King, Sep 14, 2016
  6. Stefan BellerSep 15, 2016
  7. Jeff KingSep 15, 2016
  8. Johannes SchindelinSep 25, 2016

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.