[PATCH v3 0/3] merge-recursive: replace string_list with hashmap
- Date: Thu, 7 Sep 2017 10:25:53 -0600
- From: Kevin Willford <kewillf@xxxxxxxxxxxxx>
- Subject: [PATCH v3 0/3] merge-recursive: replace string_list with hashmap
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.
Also cleaned up a memory leak and method where the return was not
Changes since last version:
1. Removed the function pointers and just check the ignore_case in the
compare and hash methods.
2. Added a comment about the hashmap and why it is getting initialized
and freed but not a local.
3. Use hashmap_get_from_hash and remove the dummy entry
Kevin Willford (3):
merge-recursive: fix memory leak
merge-recursive: remove return value from get_files_dirs
merge-recursive: change current file dir string_lists to hashmap
merge-recursive.c | 76 ++++++++++++++++++++++++++++++++++++++++---------------
merge-recursive.h | 3 +--
2 files changed, 57 insertions(+), 22 deletions(-)