adding TT reduces NPS by allot

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

syzygy
Posts: 5646
Joined: Tue Feb 28, 2012 11:56 pm

Re: adding TT reduces NPS by allot

Post by syzygy »

Iketh wrote: Thu Apr 25, 2024 12:57 am I started my engine from scratch 1.5 years ago. Tt probing in qs increases nps. Im surprised it is suggested to remove it. The time spent reading ram every node is less than the time spent sometimes evaluating duplicate positions.
Then your engine seems to have a funny way of measuring nps.
syzygy
Posts: 5646
Joined: Tue Feb 28, 2012 11:56 pm

Re: adding TT reduces NPS by allot

Post by syzygy »

connor_mcmonigle wrote: Sat Apr 20, 2024 7:23 am
hgm wrote: Sat Apr 20, 2024 6:50 am So why did you think it would be necessarily true for all engines?
Okay, that might have been a bit hyperbolic, but all the same, the following seems to suggest that it's some popular solution to this problem:
"Conventional solution to this problem is not probe the TT in the QS/leaf nodes." - It's not a solution to a slow TT implementation nor is it conventional.
When something is too expensive to do in every node, the conventional solution is to not do it in leaf nodes (or to do it only in nodes with remaining depth >= N for some N).
connor_mcmonigle
Posts: 544
Joined: Sun Sep 06, 2020 4:40 am
Full name: Connor McMonigle

Re: adding TT reduces NPS by allot

Post by connor_mcmonigle »

syzygy wrote: Sat Apr 27, 2024 12:12 am
connor_mcmonigle wrote: Sat Apr 20, 2024 7:23 am
hgm wrote: Sat Apr 20, 2024 6:50 am So why did you think it would be necessarily true for all engines?
Okay, that might have been a bit hyperbolic, but all the same, the following seems to suggest that it's some popular solution to this problem:
"Conventional solution to this problem is not probe the TT in the QS/leaf nodes." - It's not a solution to a slow TT implementation nor is it conventional.
When something is too expensive to do in every node, the conventional solution is to not do it in leaf nodes (or to do it only in nodes with remaining depth >= N for some N).
My point is that it typically shouldn't be too expensive to do in every node, though it will depend on how expensive your evaluation function is to compute relative to a TT probe. We could also not perform eval in every node because it reduces NPS by the same argument, but that's hopefully understood to not be a conventional solution to a slow evaluation function.