
Code: Select all
temp_hashkey = (wtm) ? HashKey : ~HashKey;
htable = trans_ref + ((int) temp_hashkey & hash_mask);
word1 = htable->prefer.word1;
word2 = htable->prefer.word2;
if (word2 == temp_hashkey) ....
Moderator: Ras
Code: Select all
temp_hashkey = (wtm) ? HashKey : ~HashKey;
htable = trans_ref + ((int) temp_hashkey & hash_mask);
word1 = htable->prefer.word1;
word2 = htable->prefer.word2;
if (word2 == temp_hashkey) ....
I can't find this experiment, can you link to it please?Harald Johnsen wrote:On bob's site your find an experiment that shows that hash errors have no real impact on the search. So there is no need to handle an error free hash table update (iirc).
HJ.
http://www.cis.uab.edu/hyatt/collisions.htmlmathmoi wrote:I can't find this experiment, can you link to it please?Harald Johnsen wrote:On bob's site your find an experiment that shows that hash errors have no real impact on the search. So there is no need to handle an error free hash table update (iirc).
HJ.
MP
It was removed. I had to validity-check the moves from the hash table anyway as a bad move can completely crash the program. And after the hashing study I did a couple of years ago, it was pretty obvious that the very rare errors caused by the corrupted hash entry issue was not going to impact the search quality at all, and avoiding the extra XOR's made it a bit faster.jromang wrote:I'm trying to experiment the Lock-less transposition table idea from Dr Hyatt's paper ; but after looking the source code from crafty 22.1, it seems this isn't implemented in crafty....I can't see a XOR'ed word1 anywhere
Do I miss something ? How is the concurrent transposition table access issue solved in crafty ?Code: Select all
temp_hashkey = (wtm) ? HashKey : ~HashKey; htable = trans_ref + ((int) temp_hashkey & hash_mask); word1 = htable->prefer.word1; word2 = htable->prefer.word2; if (word2 == temp_hashkey) ....