Nice speedup.micron wrote:Making that optimization is worthwhile. After reading this useful thread, I now set an en passant square only if there is an opposing pawn that can capture it. My time for a nominal 10 ply search from the start went from 14.1 s to 11.6 s. A good result from 5 minutes' programming.Desperado wrote:doing the update like you have done so far is an absolutely correct way to handle this.Fguy64 wrote:I have been including a hash key component when a pawn moves forward two squares, regardless of whether or not there is a capture possible. As I think about it, this seems wrong, in that I eliminate a significant number of possible hash key matches and slow down my search.
What you described as mistake is at most a missing optimization.
Robert P.
But i am interested in the reason for this. i dont think
it is (only) due a better ttb-hitrate. I would bet it is because you
drop much earlier into repetition detection.(especially if
you report repetition draw on count==1).
And because the start position include 16 pawns which can
be pushed double this leads to the nice speedup.
did you test for midgame position ?
what is the speedup when (just for testing) you lock the
repetition detection, to see if it is really the hashhit-rate
that is producing the gain?
regards Michael