Re: [PATCH 0/4] Honor core.deltaBaseCacheLimit during index-pack
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Jul 14, 2008, 12:25 UTC
- Message-ID
- <alpine.DEB.1.00.0807141322140.8950@racer>
- In-Reply-To
- <487B439F.8040902@op5.se>
Hi,
On Mon, 14 Jul 2008, Andreas Ericsson wrote:
Show 5 quoted lines
> Sorry for being clueless here, but why does the older versions need > to be kept in-memory anyway? Aren't we applying the delta each time > we find one, repeatedly creating a new base-object in-memory for > each delta? If we aren't doing that, why do we need more than just > a small amount of memory just for keeping the delta?
Think of a delta chain of 49 delta objects, 1 base object. Now reconstruct all of the objects.
If you do it one by one, not storing the intermediate results, you end up applying 1 delta for the first, 2 for the second (first the first, then the second), and so on, in total 1 + 2 + 3 + ... + 49 = 49 * 50 / 2 = 1225 times.
Compare that to the 49 times when reusing the intermediate results.
Ciao, Dscho