diff options
author | Carlos Martín Nieto <cmn@dwim.me> | 2014-06-09 23:23:53 +0200 |
---|---|---|
committer | Carlos Martín Nieto <cmn@dwim.me> | 2014-06-10 00:06:21 +0200 |
commit | 2c11d2eeb550ed2f795c714829b3fd3788b2ab68 (patch) | |
tree | 9da4de00ee6c33e8734a4e708e1857cd99071dee /src/tree.c | |
parent | 281da0043ca6fe8c5ba6bc24c24c10d80db93956 (diff) | |
download | libgit2-2c11d2eeb550ed2f795c714829b3fd3788b2ab68.tar.gz |
treebuilder: insert sortedcmn/treebuilder-insert-sorted
By inserting in the right position, we can keep the vector sorted,
making entry insertion almost twice as fast.
Diffstat (limited to 'src/tree.c')
-rw-r--r-- | src/tree.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/tree.c b/src/tree.c index 94f779eca..b64efe460 100644 --- a/src/tree.c +++ b/src/tree.c @@ -460,7 +460,7 @@ static int append_entry( git_oid_cpy(&entry->oid, id); 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); return -1; } @@ -671,7 +671,7 @@ int git_treebuilder_insert( entry = alloc_entry(filename); 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); return -1; } |