Re: [PATCH 00/20] Read `packed-refs` using mmap()
From: Junio C Hamano <hidden>
Date: 2017-09-13 21:37:09
Michael Haggerty [off-list ref] writes:
Following lots of work to extract the `packed_ref_store` into a separate module and decouple it from the `files_ref_store`, it is now possible to fundamentally change how the `packed-refs` file is read. * `mmap()` the whole file rather than `read()`ing it. * Instead of parsing the complete file at once into a `ref_cache`, parse the references out of the file contents on demand. * Use a binary search to find, very quickly, the reference or group of references that needs to be read. Parse *only* those references out of the file contents, without creating in-memory data structures at all.
Oooh, juicy and very exciting.
... This branch applies on top of mh/packed-ref-transactions. It can also be obtained from my git fork [1] as branch `mmap-packed-refs`. Michael [1] https://github.com/mhagger/git
Thanks for working on this. I expect that it will take more than a few hours for me to pick it up, but I am looking forward to it.