Skip to content

Commit

Permalink
tree_data OPTIMIZE optimize creation of children htable
Browse files Browse the repository at this point in the history
Here, we know the number of children that will be added in the hash
table, so create the hash table with the correct number of elements to
avoid automatic resizes.

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
  • Loading branch information
olivier-matz-6wind committed Sep 25, 2023
1 parent e55a274 commit b5e605d
Showing 1 changed file with 1 addition and 2 deletions.
3 changes: 1 addition & 2 deletions src/tree_data_hash.c
Original file line number Diff line number Diff line change
Expand Up @@ -182,8 +182,7 @@ lyd_insert_hash(struct lyd_node *node)
}
}
if (u >= LYD_HT_MIN_ITEMS) {
/* create hash table, insert all the children */
node->parent->children_ht = lyht_new(1, sizeof(struct lyd_node *), lyd_hash_table_val_equal, NULL, 1);
node->parent->children_ht = lyht_new(u, sizeof(struct lyd_node *), lyd_hash_table_val_equal, NULL, 1);
LY_LIST_FOR(node->parent->child, iter) {
if (iter->schema) {
LY_CHECK_RET(lyd_insert_hash_add(node->parent->children_ht, iter, 1));
Expand Down

0 comments on commit b5e605d

Please sign in to comment.