CoolBlue, I must say you did quite a job
Now, I still will need some time to follow things up in your code, but as far as I see it by now, you basically working on the
allocated memory to excel, I'm right? In that case be aware, that windows doesn't reclaim memory once granted at the insance it isn't needed anymore - maybe even not until excel is closed.
Having a look at your summary for "DictionarySearch":
Code:
17:19:21:0520 Call RangeCompare2: Don't Set to Nothing: WorkingSetSize 180,219,904 ( Reference )
17:19:21:0700 Start Timer: t = 0.000 sec: WorkingSetSize 180,867,072 ( 647,168 )
17:19:21:0720 arrCompare Loaded: t = 0.016 sec: WorkingSetSize 181,526,528 ( 1,306,624 )
17:19:21:0820 objDic Loaded: t = 0.115 sec: WorkingSetSize 182,345,728 ( 2,125,824 )
17:19:21:0830 arrData Loaded: t = 0.130 sec: WorkingSetSize 182,669,312 ( 2,449,408 )
17:19:22:0010 Output to Range2 Complete: t = 0.304 sec: WorkingSetSize 182,976,512 ( 2,756,608 )
17:19:22:0160 after End Sub: WorkingSetSize 196,042,752 ( 15,822,848 )
I would interprete it the way, that although at Start has been allocated 180,219,904 Bytes, excel was claiming more memory for the task and ended up with 196,042,752 Bytes
allocated. That means it doesn't say exactly whether or not memory was freed during or after runtime. It just says, that at the end excel now is asigned the 196 millions Bytes of memory whether it uses them or not. - Are you following what I try to say?
By the way: What for heavens sake is excel 2013 doing with this huge ammount of memory? I just once gave it a shot showing my version just was in need of about 80 millions ... When you start excel and let it run what the results then like?
Just a few thoughts to share with you