Skip to content

Commit c338898

Browse files
derrickstoleegitster
authored andcommitted
unpack-trees: add trace2 regions
The unpack_trees() method is quite complicated and its performance can change dramatically depending on how it is used. We already have some performance tracing regions, but they have not been updated to the trace2 API. Do so now. We already have trace2 regions in unpack_trees.c:clear_ce_flags(), which uses a linear scan through the index without recursing into trees. Signed-off-by: Derrick Stolee <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent da8be8c commit c338898

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

unpack-trees.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1580,6 +1580,8 @@ int unpack_trees(unsigned len, struct tree_desc *t, struct unpack_trees_options
15801580
die("unpack_trees takes at most %d trees", MAX_UNPACK_TREES);
15811581

15821582
trace_performance_enter();
1583+
trace2_region_enter("unpack_trees", "unpack_trees", the_repository);
1584+
15831585
if (!core_apply_sparse_checkout || !o->update)
15841586
o->skip_sparse_checkout = 1;
15851587
if (!o->skip_sparse_checkout && !o->pl) {
@@ -1653,7 +1655,9 @@ int unpack_trees(unsigned len, struct tree_desc *t, struct unpack_trees_options
16531655
}
16541656

16551657
trace_performance_enter();
1658+
trace2_region_enter("unpack_trees", "traverse_trees", the_repository);
16561659
ret = traverse_trees(o->src_index, len, t, &info);
1660+
trace2_region_leave("unpack_trees", "traverse_trees", the_repository);
16571661
trace_performance_leave("traverse_trees");
16581662
if (ret < 0)
16591663
goto return_failed;
@@ -1741,6 +1745,7 @@ int unpack_trees(unsigned len, struct tree_desc *t, struct unpack_trees_options
17411745
done:
17421746
if (free_pattern_list)
17431747
clear_pattern_list(&pl);
1748+
trace2_region_leave("unpack_trees", "unpack_trees", the_repository);
17441749
trace_performance_leave("unpack_trees");
17451750
return ret;
17461751

0 commit comments

Comments
 (0)