My comparison of two registry dumps takes ages and the automatic alignment is poor.
I think that the reason is that BC2 is not making use of the fact that the keys are in order, so it is searching right through its skew range to find a matching line, usually failing.
The default for registry dump comparison is that lines beginning and ending with square brackets are of high importance.
What could be done additionally is to specify that I know that the file has them in order, which should be usable to short-cut the matching search.
E.g.
>>> File A:
[HKEY_alpha]
...
[HKEY_bravo]
...
[HKEY_delta]
...
[HKEY_golf]
...
>>> FILE B:
[HKEY_alpha]
...
[HKEY_bravo]
...
[HKEY_charlie]
...
[HKEY_foxtrot]
...
[HKEY_golf]
...
>>> Desired action:
1. compare first two keys OK
2. compare [HKEY_delta] with [HKEY_charlie], no match and A > B, so:
3. mark [HKEY_charlie] as unmatched
4. compare [HKEY_delta] with [HKEY_foxtrot], no match and A < B, so:
5. mark [HKEY_delta] as unmatched
6. compare [HKEY_golf] with [HKEY_foxtrot], no match and B < A, so:
7. mark [HKEY_foxtrot] as unmatched
8. compare [HKEY_golf] with [HKEY_golf]
This looks trivial with this example, but for a big registry dump it could bring a massive increase in speed. It would also apply to ordered lists of filenames.
So how do I tell BC2 that the file is ordered?
I think that the reason is that BC2 is not making use of the fact that the keys are in order, so it is searching right through its skew range to find a matching line, usually failing.
The default for registry dump comparison is that lines beginning and ending with square brackets are of high importance.
What could be done additionally is to specify that I know that the file has them in order, which should be usable to short-cut the matching search.
E.g.
>>> File A:
[HKEY_alpha]
...
[HKEY_bravo]
...
[HKEY_delta]
...
[HKEY_golf]
...
>>> FILE B:
[HKEY_alpha]
...
[HKEY_bravo]
...
[HKEY_charlie]
...
[HKEY_foxtrot]
...
[HKEY_golf]
...
>>> Desired action:
1. compare first two keys OK
2. compare [HKEY_delta] with [HKEY_charlie], no match and A > B, so:
3. mark [HKEY_charlie] as unmatched
4. compare [HKEY_delta] with [HKEY_foxtrot], no match and A < B, so:
5. mark [HKEY_delta] as unmatched
6. compare [HKEY_golf] with [HKEY_foxtrot], no match and B < A, so:
7. mark [HKEY_foxtrot] as unmatched
8. compare [HKEY_golf] with [HKEY_golf]
This looks trivial with this example, but for a big registry dump it could bring a massive increase in speed. It would also apply to ordered lists of filenames.
So how do I tell BC2 that the file is ordered?
Comment