git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Kastrup <dak@gnu.org>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH v2] Bump core.deltaBaseCacheLimit to 128MiB
Date: Wed, 19 Mar 2014 22:25:54 +0100	[thread overview]
Message-ID: <87ob11g9st.fsf@fencepost.gnu.org> (raw)
In-Reply-To: <xmqq38id3nfs.fsf@gitster.dls.corp.google.com> (Junio C. Hamano's message of "Wed, 19 Mar 2014 14:09:43 -0700")

Junio C Hamano <gitster@pobox.com> writes:

> David Kastrup <dak@gnu.org> writes:
>
>> The default of 16MiB causes serious thrashing for large delta chains
>> combined with large files.
>>
>> Signed-off-by: David Kastrup <dak@gnu.org>
>> ---
>
> Is that a good argument?  Wouldn't the default of 128MiB burden
> smaller machines with bloated processes?

The default file size before Git forgets about delta compression is
512MiB.  Unpacking 500MiB files with 16MiB of delta storage is going to
be uglier.

>> Forgot the signoff.  For the rationale of this patch and the 128MiB
>> choice, see the original patch.
>
> "See the original patch", especially written after three-dash lines
> without a reference, will not help future readers of "git log" who
> later bisects to find that this change hurt their usage and want to
> see why it was done unconditionally (as opposed to encouraging those
> who benefit from this change to configure their Git to use larger
> value for them, without hurting others).

Documentation/config.txt states:

    core.deltaBaseCacheLimit::
            Maximum number of bytes to reserve for caching base objects
            that may be referenced by multiple deltified objects.  By storing the
            entire decompressed base objects in a cache Git is able
            to avoid unpacking and decompressing frequently used base
            objects multiple times.
    +
    Default is 16 MiB on all platforms.  This should be reasonable
    for all users/operating systems, except on the largest projects.
    You probably do not need to adjust this value.

I've seen this seriously screwing performance in several projects of
mine that don't really count as "largest projects".

So the description in combination with the current setting is clearly wrong.

> While I can personally afford 128MiB, I do *not* think 16MiB was
> chosen more scientifically than the choice of 128MiB this change
> proposes to make, and my gut feeling is that this would not have too
> big a negative impact to anybody, I would prefer to have a reason
> better than gut feeling before accepting a default change.

Shrug.  I've set my private default anyway, so I don't have anything to
gain from this change.  If anybody wants to pick this up and put more
science into the exact value: be my guest.

-- 
David Kastrup

  reply	other threads:[~2014-03-19 21:26 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-19 12:38 [PATCH v2] Bump core.deltaBaseCacheLimit to 128MiB David Kastrup
2014-03-19 21:09 ` Junio C Hamano
2014-03-19 21:25   ` David Kastrup [this message]
2014-03-19 22:11     ` Junio C Hamano
2014-03-20  1:38       ` Duy Nguyen
2014-03-20 17:02         ` Junio C Hamano
2014-03-20 17:08           ` David Kastrup
2014-03-20 22:35             ` Junio C Hamano
2014-03-21  6:04               ` David Kastrup
2014-03-21  7:59                 ` Duy Nguyen
2014-03-21  8:02       ` David Kastrup
2014-03-20 23:48 ` Jeff King
2014-03-21  6:12   ` David Kastrup
2014-03-21  8:11   ` David Kastrup

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=87ob11g9st.fsf@fencepost.gnu.org \
    --to=dak@gnu.org \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    /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).