If you use Robert Hyatt's lockless transposition table idea, single bit errors in the transposition table memory are mostly harmless, because after a single bit error the affected hash slot will typically no longer match any position and will just be ignored until it is overwritten.sje wrote:Some observations:
5) I was not surprised that the program produced the correct answer, as the same program and machine had done all other perft calculations correctly including perft(12). The only real danger was the possibility of cosmic ray interference (seriously) causing a bit flip which would go undetected because of not having ECC memory.
So not only is lockless hashing more efficient than lock based hashing, it is also safer because it guards against hardware errors. It is a really elegant and simple algorithm.