After many tests, I have re-started the perft(13) run on the 3.4 GHz Core i7-2600, 16 GB RAM machine. Instead of building upon the earlier calculations from the earlier partial run on the 2 GHz Core 2 Duo box, I will use those results as check data.
When compared with distinct position counts, there is a count difference at ply > 2 for the checkpoint/restart records as determined from the earlier run. An example:
Code: Select all
r1bqkbnr/pppppppp/n7/8/1P6/2N5/P1PPPPPP/R1BQKBNR b KQkq - 0 2 9 3581733681490
r1bqkbnr/pppppppp/n7/8/1P6/2N5/P1PPPPPP/R1BQKBNR b KQkq - 2 2 9 3581733681490
For ply = 1, there are 20 distinct positions, and there will be 20 checkpoint records.
For ply = 2, there are 400 distinct positions, and there will be 400 checkpoint records.
For ply = 3, there are 5,362 distinct positions, but there will be 5,429 checkpoint records.
For ply = 4, there are 72,078 distinct positions, but there will be 72,467 checkpoint records.
The estimate for the total running time for the perft(13) will be:
Code: Select all
72,467 * (count of completed unique draft 9 records) * (elapsed wall time)
0 of 20 draft 12
0 of 400 draft 11
0 of 5,362 draft 10
3 of 72,467 draft 9
Total running time estimate: 621 days (ridiculous due to low sample count)