mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-05 22:55:47 +00:00
pack: preallocate a 64-element chain
Dependency chains are often large and require a few reallocations. Allocate a 64-element chain before doing anything else to avoid allocations during the loop. This value comes from the stack-allocated one git uses. We still allocate this on the heap, but it does help performance a little bit.
This commit is contained in:
parent
e6d10c58b5
commit
b2559f477a
@ -1236,6 +1236,7 @@ static int pack_dependency_chain(git_dependency_chain *chain_out, struct git_pac
|
||||
if (!p->bases.entries && (cache_init(&p->bases) < 0))
|
||||
return -1;
|
||||
|
||||
git_array_init_to_size(chain, 64);
|
||||
while (!found_base && error == 0) {
|
||||
struct pack_chain_elem *elem;
|
||||
git_pack_cache_entry *cached = NULL;
|
||||
|
Loading…
Reference in New Issue
Block a user