Commit 2c11d2ee by Carlos Martín Nieto

treebuilder: insert sorted

By inserting in the right position, we can keep the vector sorted,
making entry insertion almost twice as fast.
parent 281da004
...@@ -460,7 +460,7 @@ static int append_entry( ...@@ -460,7 +460,7 @@ static int append_entry(
git_oid_cpy(&entry->oid, id); git_oid_cpy(&entry->oid, id);
entry->attr = (uint16_t)filemode; entry->attr = (uint16_t)filemode;
if (git_vector_insert(&bld->entries, entry) < 0) { if (git_vector_insert_sorted(&bld->entries, entry, NULL) < 0) {
git__free(entry); git__free(entry);
return -1; return -1;
} }
...@@ -671,7 +671,7 @@ int git_treebuilder_insert( ...@@ -671,7 +671,7 @@ int git_treebuilder_insert(
entry = alloc_entry(filename); entry = alloc_entry(filename);
GITERR_CHECK_ALLOC(entry); GITERR_CHECK_ALLOC(entry);
if (git_vector_insert(&bld->entries, entry) < 0) { if (git_vector_insert_sorted(&bld->entries, entry, NULL) < 0) {
git__free(entry); git__free(entry);
return -1; return -1;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment