From fc65b00da7ebfc96d3b93a59ee99f820deb5c93e Mon Sep 17 00:00:00 2001 From: Kevin Willford Date: Thu, 7 Sep 2017 10:25:56 -0600 Subject: merge-recursive: change current file dir string_lists to hashmap The code was using two string_lists, one for the directories and one for the files. The code never checks the lists independently so we should be able to only use one list. The string_list also is a O(log n) for lookup and insertion. Switching this to use a hashmap will give O(1) which will save some time when there are millions of paths that will be checked. Signed-off-by: Kevin Willford Signed-off-by: Junio C Hamano --- merge-recursive.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'merge-recursive.h') diff --git a/merge-recursive.h b/merge-recursive.h index 735343b413..80d69d1401 100644 --- a/merge-recursive.h +++ b/merge-recursive.h @@ -25,8 +25,7 @@ struct merge_options { int show_rename_progress; int call_depth; struct strbuf obuf; - struct string_list current_file_set; - struct string_list current_directory_set; + struct hashmap current_file_dir_set; struct string_list df_conflict_file_set; }; -- cgit v1.2.1