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... |