I use 3 passes (if needed) to choose one entry from a bucket of four.
1. If the current hash signature matches any of the 4 table entries exactly, I overwrite that entry, period.
2. If that fails, I check to see if any entry is old, based on the "age" field. This would mean the entry came from the previous search (not the previous iteration). If there are any "old" entries, I replace one with the shallowest draft.
3. Otherwise, I simply search for the one with the shallowest draft and replace it, no matter what its origin and type.
Version 23.1a does the same, except steps 1 and 3 do not replace a type of EXACT, unless the new entry itself is of type EXACT. The depth/draft is still used exactly as above.
so far:
Code: Select all
Crafty-23.1-1 2593 4 4 40000 48% 2610 23%
Crafty-23.1-2 2591 4 4 40000 47% 2610 22%
Crafty-23.1a-2 2589 4 4 40000 47% 2610 22%
Crafty-23.1a-1 2588 3 4 40000 47% 2610 22%