]> source.dussan.org Git - jgit.git/commit
Increase the default streaming threshold to 15 MiB 27/1427/1
authorShawn O. Pearce <spearce@spearce.org>
Thu, 26 Aug 2010 00:05:31 +0000 (17:05 -0700)
committerShawn O. Pearce <spearce@spearce.org>
Thu, 26 Aug 2010 00:07:13 +0000 (17:07 -0700)
commitcb0c05b5b48702f8c8ef0aae2b398d685d4d41d5
treec28754353353cb8228e9722afb9ce57d5194385c
parent7a9edb3662a4345573752b5a77710b6d2b28e7fa
Increase the default streaming threshold to 15 MiB

Applying deltas in the large streaming mode is horrifically slow.
Trying to pack icu4c is impossible because a single 11 MiB file
sits on top of a 15 MiB file though a 10 deep delta chain, which
results in this very slow inflate process.

Upping the default limit to 15 MiB lets us process this large in a
reasonable time, but its still sufficiently low enough to prevent
exploding the heap of a very large process like Eclipse or Gerrit
Code Review.

We have to revisit the streaming delta application process and do
something much smarter, like flatten the delta chain before we apply
it to the base.  But even that is ugly, I've seen a 155 MiB delta
sitting on top of a 450 MiB file to produce a 300 MiB result object.
If the chain is deep, we may have trouble flatting it down.

Change-Id: If5a0dcbf9d14ea683d75546f104b09bb8cd8fdbb
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectLoader.java