From: Patrick Steinhardt Date: Wed, 22 May 2024 07:19:38 GMT Subject: Re: [PATCH v3 08/11] refs/reftable: allow configuring restart interval Message-ID: In-Reply-To: <2zq4lspmqkcw6ssaxgc5txaubivwvghwgf4kmsmk3nfsizbmnf@twznyofqazml> On Tue, May 21, 2024 at 06:50:58PM -0500, Justin Tobler wrote: > On 24/05/13 10:18AM, Patrick Steinhardt wrote: > > +reftable.restartInterval:: > > + The interval at which to create restart points. The reftable backend > > + determines the restart points at file creation. Every 16 may be > > + more suitable for smaller block sizes (4k or 8k), every 64 for larger > > + block sizes (64k). > > ++ > > +More frequent restart points reduces prefix compression and increases > > +space consumed by the restart table, both of which increase file size. > > ++ > > +Less frequent restart points makes prefix compression more effective, > > +decreasing overall file size, with increased penalties for readers > > +walking through more records after the binary search step. > > ++ > > +A maximum of `65535` restart points per block is supported. > > ++ > > +The default value is to create restart points every 16 records. A value of `0` > > +will use the default value. > > Out of curiousity, if for some reason we didn't want any prefix > compression, would the best way to do this be via setting the restart > interval to 1? I guess this means the number of references would also be > limited by the maximum number of restart points. Yup, exactly. Patrick