[PATCH 0/5] Optimization batch 12: miscellaneous unthemed stuff
From: Elijah Newren via GitGitGadget <hidden>
Date: 2021-05-27 08:37:29
This series depends on en/ort-perf-batch-11 textually, but is semantically
independent of it.
This short series has a few optimizations, but only one of which affects the
testcases of interest (namely, reducing our time spent on sorting an array).
It also fixes a few comments.
For the testcases mentioned in commit 557ac0350d ("merge-ort: begin
performance work; instrument with trace2_region_* calls", 2020-10-28), the
changes in just this series improves the performance as follows:
Before Series After Series
no-renames: 5.622 s ± 0.059 s 5.235 s ± 0.042 s
mega-renames: 10.127 s ± 0.073 s 9.419 s ± 0.107 s
just-one-mega: 500.3 ms ± 3.8 ms 480.1 ms ± 3.9 ms
As a reminder, before any merge-ort/diffcore-rename performance work, the
performance results we started with were:
no-renames-am: 6.940 s ± 0.485 s
no-renames: 18.912 s ± 0.174 s
mega-renames: 5964.031 s ± 10.459 s
just-one-mega: 149.583 s ± 0.751 s
Elijah Newren (5):
merge-ort: replace string_list_df_name_compare with faster alternative
diffcore-rename: avoid unnecessary strdup'ing in break_idx
diffcore-rename: enable limiting rename detection to relevant
destinations
Fix various issues found in comments
merge-ort: miscellaneous touch-ups
diffcore-rename.c | 52 ++++++++++++++++---
diffcore.h | 2 +
merge-ort.c | 78 +++++++++++++++++++----------
t/t6423-merge-rename-directories.sh | 2 +-
4 files changed, 99 insertions(+), 35 deletions(-)
base-commit: 76e253793c9a1d7fdd1836d5e4db26dabd3d713a
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-962%2Fnewren%2Fort-perf-batch-12-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-962/newren/ort-perf-batch-12-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/962
--
gitgitgadget