Re: reftable: new ref storage format
- Date: Sun, 16 Jul 2017 14:31:20 -0700
- From: Shawn Pearce <spearce@xxxxxxxxxxx>
- Subject: Re: reftable: new ref storage format
On Sun, Jul 16, 2017 at 2:13 PM, Dave Borowitz <dborowitz@xxxxxxxxxx> wrote:
> On Sun, Jul 16, 2017 at 3:43 PM, Shawn Pearce <spearce@xxxxxxxxxxx> wrote:
>> True... but... in my "android" example repository we have 866,456 live
>> refs. A block size of 64k needs only 443 blocks, and a 12k index, to
>> get the file to compress to 28M (vs. 62M packed-refs).
>> Index records are averaging 28 bytes per block. That gives us room for
>> about 1955 blocks, or 4,574,700 refs before the index block exceeds
> That's only a 5x increase over the current number of refs in this
> android repo. I would not be so sure this repo doesn't grow another 5x
> in the next few years. Especially as the other optimizations for
> working with large repos start to be applied, so it won't be
> prohibitively painful to work with such a repo.
> Are we ok with increasing the block size when this eventually happens?
> (At least I think that's what we would have to do, I haven't been
> following closely the discussion on scaling limits.)
I think I'd try letting the index grow to 4 blocks (256k) before I
considered increasing the block size. Remember pack idx files are much
larger, and are loaded wholesale into memory by JGit. A ref idx at
256k might not be problematic.