From c06c79667c9514aed00d29bcd80bd0cee7cc5a25 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Sun, 12 Mar 2006 03:22:10 -0800 Subject: diffcore-rename: somewhat optimized. This changes diffcore-rename to reuse statistics information gathered during similarity estimation, and updates the hashtable implementation used to keep track of the statistics to be denser. This seems to give better performance. Signed-off-by: Junio C Hamano --- diffcore-rename.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'diffcore-rename.c') diff --git a/diffcore-rename.c b/diffcore-rename.c index 625b589fb7..b80b4320ff 100644 --- a/diffcore-rename.c +++ b/diffcore-rename.c @@ -166,6 +166,7 @@ static int estimate_similarity(struct diff_filespec *src, delta_limit = base_size * (MAX_SCORE-minimum_score) / MAX_SCORE; if (diffcore_count_changes(src->data, src->size, dst->data, dst->size, + &src->cnt_data, &dst->cnt_data, delta_limit, &src_copied, &literal_added)) return 0; @@ -306,6 +307,8 @@ void diffcore_rename(struct diff_options *options) m->score = estimate_similarity(one, two, minimum_score); } + free(two->cnt_data); + two->cnt_data = NULL; dst_cnt++; } /* cost matrix sorted by most to least similar pair */ -- cgit v1.2.3