primenumber / issen-rs

Reversi solver on Rust
GNU General Public License v3.0
9 stars 0 forks source link

Optimize #20

Closed primenumber closed 11 months ago

primenumber commented 11 months ago

AVX-512CD+VLが有効な環境ではvplzcntqを使うことで、flipを高速化できる また、これまでBoard内でanyhow::Result<T>を使っていたが、flip等に関してはオーバーヘッドがバカにならないので、Option<T>に変更した。 これにより、終局近くの探索が高速化したため、置換表まわりがボトルネックになった。 置換表ではこれまでgenerationをResCache EvalCache でAtomicU16で持っていたが、探索オブジェクト側に持たせてatomicを不要にするなどして、高速化した