merge-ort: use relevant_sources to filter possible rename sources
commit174791f0fb23e29de1d879c1aae3a164bb998885
authorElijah Newren <newren@gmail.com>
Thu, 11 Mar 2021 00:38:29 +0000 (11 00:38 +0000)
committerJunio C Hamano <gitster@pobox.com>
Thu, 11 Mar 2021 06:18:05 +0000 (10 22:18 -0800)
treec47ef46f6a2ff8e7ba7d686645f37c10f38d80bf
parent2fd9eda462088b7ef992e9f5abd1658d942b3923
merge-ort: use relevant_sources to filter possible rename sources

The past several commits determined conditions when rename sources might
be needed, and filled a relevant_sources strset with those paths.  Pass
these along to diffcore_rename_extended() to use to limit the sources
that we need to detect renames for.

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.596 s ±  0.061 s     6.003 s ±  0.048 s
    mega-renames:    130.465 s ±  0.259 s   114.009 s ±  0.236 s
    just-one-mega:     3.958 s ±  0.010 s     3.489 s ±  0.017 s

Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
merge-ort.c