[PATCH v3 0/3] merge-recursive: replace string_list with hashmap
- From
- Kevin Willford <kewillf@microsoft.com>
- Date
- Sep 7, 2017, 16:25 UTC
- Message-ID
- <20170907162556.61384-1-kewillf@microsoft.com>
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 being used.
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(-)
-- 2.14.1.329.gcdd497e120.dirty