Well, one downside of using only 54 bits for the actual hash key would be that it increases the probability of a hash collision by a factor of about 2^10 ... So in any case you should be prepared to always do a legality test of the hash move before accepting it and making it on the board, to avoid crashing your board representation as a result of an (otherwise undetectable) hash collision.Gary wrote:That is actually where I store the information. I don't have enpeasent/castling information anywhere else. I was a bit obsessive over perft speed when I decided that.
Perft speed should not serve as a major argument for design decisions, of course. And for the standard search where usually evaluation takes most of the CPU time I would not expect any measurable slowdown of storing EP target, castling rights and turn separately, outside the hash key.
Sven