Hi Derrick, On Tue, Apr 10, 2018 at 5:55 AM, Derrick Stolee <stolee@xxxxxxxxx> wrote: > + OID Fanout (ID: {'O', 'I', 'D', 'F'}) (256 * 4 bytes) > + The ith entry, F[i], stores the number of OIDs with first > + byte at most i. Thus F[255] stores the total > + number of commits (N). I was about to give this series one last read not expecting any questions to come up (this series has had a lot of feedback already!) Although I just did. What were your design considerations for the fanout table? Did you include it as the pack index has one or did you come up with them from first principles? Have you measured the performance impact of the fanout table (maybe even depending on the size of the fanout) ? context: https://public-inbox.org/git/CAJo=hJsto1ik=GTC8c3+2_jBuUqcAPL0UWp-1uoYYMpgbLB+qg@xxxxxxxxxxxxxx/ (side note: searching the web for fanout makes it seem as if it is git-lingo, apparently the term is not widely used) I don't think we want to restart the design discussion, I am just curious. Thanks, Stefan