From: Derrick Stolee <dstolee@xxxxxxxxxxxxx> Commands such as "git reset --hard" rebuild the in-memory representation of the cached 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@xxxxxxxxxxxxx> --- cache-tree.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cache-tree.c b/cache-tree.c index 45fb57b17f3..f135bb77af5 100644 --- a/cache-tree.c +++ b/cache-tree.c @@ -746,7 +746,10 @@ void prime_cache_tree(struct repository *r, { cache_tree_free(&istate->cache_tree); istate->cache_tree = cache_tree(); + + trace2_region_enter("cache-tree", "prime_cache_tree", the_repository); prime_cache_tree_rec(r, istate->cache_tree, tree); + trace2_region_leave("cache-tree", "prime_cache_tree", the_repository); istate->cache_changed |= CACHE_TREE_CHANGED; } -- gitgitgadget