cache-tree: trace regions for prime_cache_tree
Commands such as "git reset --hard" rebuild the in-memory representation of the cache tree index extension by parsing tree objects starting at a known root tree. The performance of this operation can vary widely depending on the width and depth of the repository's working directory structure. Measure the time in this operation using trace2 regions in prime_cache_tree(). Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Derrick Stolee committed
Jan 4, 2021 at 03:09 UTC
0e5c95026752f0aa62e072bcb9e0a4fb93fd482e
1 file changed
+3
cache-tree.c
+3
@@ -744,10 +744,13 @@ void prime_cache_tree(struct repository *r,
744
struct index_state *istate,
745
struct tree *tree)
746
{
747
+ trace2_region_enter("cache-tree", "prime_cache_tree", the_repository);
748
cache_tree_free(&istate->cache_tree);
749
istate->cache_tree = cache_tree();
750
+
751
prime_cache_tree_rec(r, istate->cache_tree, tree);
752
istate->cache_changed |= CACHE_TREE_CHANGED;
753
+ trace2_region_leave("cache-tree", "prime_cache_tree", the_repository);
754
}
755
756
/*