### Higher than expected by me efficiency of Ponder ON

Posted:

**Mon Mar 06, 2017 2:26 pm**In Cutechess-Cli, I compared the benefit of Ponder ON to the benefit of doubling time control (effective speed-up of 2) for Komodo 10.3:

I played first 2000 games each, but then decided to play another 2000. So, in 4000 games each match, 115 ELO points for Ponder ON, 149 ELO points for doubling time control. An efficiency of Ponder ON of 115/149 ~

http://www.talkchess.com/forum/viewtopic.php?t=62146

This gives speedups of:

2 --> 4 cores: 1.84

4 --> 8 cores: 1.73

8 --> 16 cores: 1.57

16 --> 32 cores: 1.40

32 --> 64 cores: 1.25

Therefore 4 --> 8 cores is almost even with Ponder ON 4 cores each, and anything above, say 6 --> 12 , 8 --> 16 is better played Ponder ON on half cores than Ponder OFF on full number of cores. In the TCEC case, the improvement from Ponder ON is substantial over doubling number of cores Ponder OFF (1.71 compared to 1.40 or 1.25). Also, worth noting than the Ponder hit rate only increases going to LTC and more cores, therefore the benefit of Ponder ON.

Code: Select all

```
Ponder ON vs OFF 5s+0.05s:
Score of Komodo vs Komodo: 836 - 174 - 990 [0.665] 2000
ELO difference: 119.50 +/- 10.74
Score of Komodo vs Komodo: 813 - 202 - 985 [0.653] 2000
ELO difference: 109.64 +/- 10.80
Finished match
Ponder OFF 10s+0.1 vs 5s+0.05s:
Score of Komodo vs Komodo: 942 - 125 - 933 [0.704] 2000
ELO difference: 150.72 +/- 11.06
Score of Komodo vs Komodo: 935 - 133 - 932 [0.701] 2000
ELO difference: 147.60 +/- 11.07
```

**77%**. This is significantly higher than about 65% Ponder hit rate. This ponder hit rate of 65% is what to be expected of LTC and multicore games among top engines. So those 35% Ponder misses were not completely useless. Searching a wrong move still fills up the hashtable with useful information, like that leading to a transposition later. And that raises the issue of the best use of multicore PCs for play and testing. 2^0.77 ~**1.71**speed-up due to Pondering. The speed-up due to doubling the number of threads is given for Lazy SMP, as used in Stockfish and probably some other engines, by the Amdahl's Law, and derived here:http://www.talkchess.com/forum/viewtopic.php?t=62146

**Effective Speed-Up = 1 / (1 - 0.955 + 0.955/n_cores)**This gives speedups of:

2 --> 4 cores: 1.84

4 --> 8 cores: 1.73

8 --> 16 cores: 1.57

16 --> 32 cores: 1.40

32 --> 64 cores: 1.25

Therefore 4 --> 8 cores is almost even with Ponder ON 4 cores each, and anything above, say 6 --> 12 , 8 --> 16 is better played Ponder ON on half cores than Ponder OFF on full number of cores. In the TCEC case, the improvement from Ponder ON is substantial over doubling number of cores Ponder OFF (1.71 compared to 1.40 or 1.25). Also, worth noting than the Ponder hit rate only increases going to LTC and more cores, therefore the benefit of Ponder ON.