sakurapyon’s blog

sakurapyon’s blog

置換表の高速化

だんだんわかってきたんだけど、beta cutされるほとんどの局面はハッシュ手でbeta cutされる。
(beta cutした手の平均順位は、1.x台の前半になる)

なので、ハッシュから手を取り出す→1手進める→ハッシュから手を取り出す→1手進める…というサイクルが律速になるようだ。
少しでもハッシュを扱う関数を複雑にすると微妙に速度に影響する。__builtin_expect するだけでも違うし。
(評価関数が軽いKKPなことも影響しているのかな。評価関数重いとまた変わってくるのだろう)