Re: [PATCH 4/5] index: make index.threads=true enable ieot and eoie
- From
Ben Peart <peartben@gmail.com>
- Date
- Nov 20, 2018, 13:24 UTC
- Message-ID
- <f4c28f3f-f3e0-8a23-ea12-70b4fef5d96c@gmail.com>
- In-Reply-To
- <20181120061426.GE144753@google.com>
On 11/20/2018 1:14 AM, Jonathan Nieder wrote:
Show 37 quoted lines
> If a user explicitly sets > > [index] > threads = true > > to read the index using multiple threads, ensure that index writes > include the offset table by default to make that possible. This > ensures that the user's intent of turning on threading is respected. > > In other words, permit the following configurations: > > - index.threads and index.recordOffsetTable unspecified: do not write > the offset table yet (to avoid alarming the user with "ignoring IEOT > extension" messages when an older version of Git accesses the > repository) but do make use of multiple threads to read the index if > the supporting offset table is present. > > This can also be requested explicitly by setting index.threads=true, > 0, or >1 and index.recordOffsetTable=false. > > - index.threads=false or 1: do not write the offset table, and do not > make use of the offset table. > > One can set index.recordOffsetTable=false as well, to be more > explicit. > > - index.threads=true, 0, or >1 and index.recordOffsetTable unspecified: > write the offset table and make use of threads at read time. > > This can also be requested by setting index.threads=true, 0, >1, or > unspecified and index.recordOffsetTable=true. > > Fortunately the complication is temporary: once most Git installations > have upgraded to a version with support for the IEOT and EOIE > extensions, we can flip the defaults for index.recordEndOfIndexEntries > and index.recordOffsetTable to true and eliminate the settings. >
This looks good. I think this provides good default behavior while enabling fine grained control to those who want/need it.
I'm looking forward to the day when we can turn it back on by default so that people can take advantage of the speed improvements.