Good, your Hashfull is very useful, I have just estimation by looking at Hash usage for typical positions. I refined my test now, in LittleBlitzer I just play for 5 moves from 2moves_v1.epd openings, so only opening positions with similar time-to-depth. With InBetween I let them play at fixed depth=17 (about one second per move, but a bit varied time). The result is here, and is more precise than my previous one, because time-to-depth variance is smaller than using full games.Adam Hair wrote:I measured depth, nodes per second, and hash usage at 1.5 seconds per move from a set of positions (the 8238 positions from the sim tool; data extracted from Polyglot logs). I think the thinking time would equate to 1 to 1.2 seconds per move on your computer.Laskos wrote:That seems confirmed. In 1000 games each, about 60,000 positions per Stockfish with different Hash at 6''+0.06'' 1 core, I get the following depths and nps:hgm wrote:
IIRC in my measurements the search time only started to go up once the overload factor exeded 10.
The last column is approximate Hash usage per move out of available. 25% (16M Hash) seems the optimum here depth-wise. And indeed, a factor of 16 overload seems to not hurt almost at all (4M vs 64M).Code: Select all
1. SF 1M tpm=148.0 d=16.14 nps=1951575 99% 2. SF 4M tpm=148.1 d=16.30 nps=1955569 80% 3. SF 16M tpm=149.3 d=16.36 nps=1946288 25% 4. SF 64M tpm=149.3 d=16.33 nps=1910916 7% 5. SF 256M tpm=149.5 d=16.25 nps=1817734 2% 6. SF 1024M tpm=149.4 d=16.14 nps=1718677 1%
16 MB of hash seems to be best for this tpm and these positions on my computer. I was expecting a little more of a difference compared to your results.Code: Select all
Hash Depth NPS Hashfull 1 19.71 1423911.54 98.92% 4 19.84 1423019.10 98.59% 16 19.99 1471216.76 73.69% 32 19.90 1425357.18 43.74% 64 19.87 1407208.73 22.82% 256 19.84 1385323.14 5.69% 1024 19.71 1310237.31 2.06% 4096 19.66 1284870.14 1.65%
Code: Select all
Games Completed = 1800 of 1800 (Avg game length = 9.963 sec)
Settings = RR/0MB/100000ms per move/M 500cp for 2 moves, D 5 moves/EPD:C:\LittleBlitzer\2moves_v1.epd(32000)
Time = 5544 sec elapsed, 0 sec remaining
1. SF 1M 300.0/600 0-0-600 (tpm=964.0 d=17.00 nps=1367595) 99%
2. SF 4M 300.0/600 0-0-600 (tpm=901.0 d=17.00 nps=1376814) 98%
3. SF 16M 300.0/600 0-0-600 (tpm=860.5 d=17.00 nps=1383201) 60%
4. SF 64M 300.0/600 0-0-600 (tpm=861.7 d=17.00 nps=1373527) 18%
5. SF 256M 300.0/600 0-0-600 (tpm=901.5 d=17.00 nps=1329987) 5%
6. SF 1024M 300.0/600 0-0-600 (tpm=945.3 d=17.00 nps=1255824) 2%
The extrapolation curve seems to indicate 32M as the optimum Hash and about 40% Hashfull. Also, too much Hash seems to harm as much as to little Hash (on logarithmic scale).