git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Dana How" <danahow@gmail.com>
To: "Nicolas Pitre" <nico@cam.org>
Cc: "Junio C Hamano" <junkio@cox.net>,
	"Git Mailing List" <git@vger.kernel.org>,
	danahow@gmail.com
Subject: Re: [RFD/PATCH] Implement pack.compression and pack-objects --compression=N
Date: Fri, 4 May 2007 09:10:38 -0700	[thread overview]
Message-ID: <56b7f5510705040910i3cac723co3aed45034c097def@mail.gmail.com> (raw)
In-Reply-To: <alpine.LFD.0.99.0705040937250.24220@xanadu.home>

On 5/4/07, Nicolas Pitre <nico@cam.org> wrote:
> On Thu, 3 May 2007, Junio C Hamano wrote:
>
> > "Dana How" <danahow@gmail.com> writes:
> >
> > > So for a 25% increase in blob size I get 33% less elapsed time
> > > in git-add, all by changing core.compression from -1 to 1.
> > > I'll definitely take that improvement.  [For the compressible files
> > > we typically have, using 0 is a bad idea:  the CPU "advantage"
> > > is swamped out by the time to write a much larger file.]
> >
> > The above number is about loose objects, right?
> >
> > > Since I don't care [to the same degree] about the responsiveness of
> > > packing,  I'd rather pack with -1 or better to keep packs small.
> >
> > I see.  You are saying that the fact that core.compression is
> > used also for packing makes the variable less useful.
>
> I think that would make sense to have separate configs for pack and
> loose object compression.  When not specified they should simply default
> to core.compression if it exists.  Otherwise I'd suggest that pack
> compression default level be Z_DEFAULT_COMPRESSION and loose object
> compression default level be Z_BEST_SPEED.  This would make interactive
> operations like git-add and git-commit even faster by default.

I agree with your Z_BEST_SPEED idea.  I did not include it in
the patch b/c I didn't want to change any behavior in the absence
of new config settings.

Are you actually arguing for *3* different compression-related config
variables?  How about:
(a) core.compression controls loose objects. defaults to Z_BEST_SPEED.
(b) pack.compression controls packing. defaults to Z_DEFAULT_COMPRESSION
if neither variable exists. defaults to core.compression if only that exists

The last sentence mimics current behavior and to me seems least
surprising.  Or pack.compression could be simpler: default to
Z_DEFAULT_COMPRESSION if pack.compression doesn't exist
(no interaction with core.compression).

Thanks,
-- 
Dana L. How  danahow@gmail.com  +1 650 804 5991 cell

  reply	other threads:[~2007-05-04 16:11 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-02  3:18 [RFD/PATCH] Implement pack.compression and pack-objects --compression=N Dana How
2007-05-02 18:40 ` Junio C Hamano
2007-05-02 18:55   ` Dana How
2007-05-02 22:51     ` Dana How
2007-05-04  5:49       ` Junio C Hamano
2007-05-04  7:01         ` Dana How
2007-05-04 13:47         ` Nicolas Pitre
2007-05-04 16:10           ` Dana How [this message]
2007-05-04 16:30             ` Nicolas Pitre
2007-05-04 19:51               ` Dana How
2007-05-04 20:17                 ` Nicolas Pitre

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=56b7f5510705040910i3cac723co3aed45034c097def@mail.gmail.com \
    --to=danahow@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=junkio@cox.net \
    --cc=nico@cam.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).