Currently ref lookups require loading the entire packed-refs file into a hashmap in memory. For repos with large numbers of refs this can be painfully slow. This patch replaces the existing lookup code and instead mmap()'s the packed-refs file and performs a binary search to locate the ref entry. Git uses a similiar approach. The old hash table codepath is still used for unsorted packed-refs files. This patch also fixes a minor bug where the "peeled" trait is never parsed correctly from the packed-refs header.
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| buffers.md | Loading commit data... | |
| changelog.md | Loading commit data... | |
| checkout-internals.md | Loading commit data... | |
| code_of_conduct.md | Loading commit data... | |
| coding-style.md | Loading commit data... | |
| contributing.md | Loading commit data... | |
| conventions.md | Loading commit data... | |
| diff-internals.md | Loading commit data... | |
| differences-from-git.md | Loading commit data... | |
| error-handling.md | Loading commit data... | |
| fuzzing.md | Loading commit data... | |
| merge-df_conflicts.txt | Loading commit data... | |
| projects.md | Loading commit data... | |
| release.md | Loading commit data... | |
| threading.md | Loading commit data... | |
| troubleshooting.md | Loading commit data... | |
| win32-longpaths.md | Loading commit data... |