summaryrefslogtreecommitdiff
path: root/diffcore.h
diff options
context:
space:
mode:
authorLibravatar Elijah Newren <newren@gmail.com>2021-02-27 00:30:48 +0000
committerLibravatar Junio C Hamano <gitster@pobox.com>2021-02-26 17:53:12 -0800
commit81afdf7a2e625a7ecfb17c00c871b409e853694d (patch)
tree7dc93e3657d50f38e6a0e8441f46b2ca68015701 /diffcore.h
parentdiffcore-rename: limit dir_rename_counts computation to relevant dirs (diff)
downloadtgif-81afdf7a2e625a7ecfb17c00c871b409e853694d.tar.xz
diffcore-rename: compute dir_rename_guess from dir_rename_counts
dir_rename_counts has a mapping of a mapping, in particular, it has old_dir => { new_dir => count } We want a simple mapping of old_dir => new_dir based on which new_dir had the highest count for a given old_dir. Compute this and store it in dir_rename_guess. This is the final piece of the puzzle needed to make our guesses at which directory files have been moved to when basenames aren't unique. For the testcases mentioned in commit 557ac0350d ("merge-ort: begin performance work; instrument with trace2_region_* calls", 2020-10-28), this change improves the performance as follows: Before After no-renames: 12.775 s ± 0.062 s 12.596 s ± 0.061 s mega-renames: 188.754 s ± 0.284 s 130.465 s ± 0.259 s just-one-mega: 5.599 s ± 0.019 s 3.958 s ± 0.010 s Reviewed-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'diffcore.h')
0 files changed, 0 insertions, 0 deletions