Here's my figures:
i7-M620 @ 2.67Ghz
EDIT: These first 2 tables had cumulative times originally by mistake. They now show independent times for each depth.
15/9/2012: Single thread, perft plain (no bulk counting)
1 ply, e = 7, 0.00s, 0 K Leaf Nodes/sec
2 ply, e = 49, 0.00s, 4 K Leaf Nodes/sec
3 ply, e = 302, 0.00s, 30 K Leaf Nodes/sec
4 ply, e = 1469, 0.00s, 146 K Leaf Nodes/sec
5 ply, e = 7361, 0.00s, 736 K Leaf Nodes/sec
6 ply, e = 36768, 0.00s, 3676 K Leaf Nodes/sec
7 ply, e = 179740, 0.01s, 8987 K Leaf Nodes/sec
8 ply, e = 845931, 0.02s, 28197 K Leaf Nodes/sec
9 ply, e = 3963680, 0.05s, 66061 K Leaf Nodes/sec
10 ply, e = 18391564, 0.18s, 96797 K Leaf Nodes/sec
11 ply, e = 85242128, 0.85s, 99118 K Leaf Nodes/sec
12 ply, e = 388623673, 3.99s, 97155 K Leaf Nodes/sec
13 ply, e = 1766623630, 18.81s, 93869 K Leaf Nodes/sec
14 ply, e = 7978439499, 84.08s, 94879 K Leaf Nodes/sec
15 ply, e = 36263167175, 387.43s, 93596 K Leaf Nodes/sec
15/9/2012: Single thread, plain + bulk
1 ply, e = 7, 0.00s, 0 K Leaf Nodes/sec
2 ply, e = 49, 0.00s, 4 K Leaf Nodes/sec
3 ply, e = 302, 0.00s, 30 K Leaf Nodes/sec
4 ply, e = 1469, 0.00s, 146 K Leaf Nodes/sec
5 ply, e = 7361, 0.00s, 736 K Leaf Nodes/sec
6 ply, e = 36768, 0.00s, 3676 K Leaf Nodes/sec
7 ply, e = 179740, 0.00s, 17974 K Leaf Nodes/sec
8 ply, e = 845931, 0.01s, 42296 K Leaf Nodes/sec
9 ply, e = 3963680, 0.04s, 79273 K Leaf Nodes/sec
10 ply, e = 18391564, 0.10s, 167196 K Leaf Nodes/sec
11 ply, e = 85242128, 0.43s, 193732 K Leaf Nodes/sec
12 ply, e = 388623673, 1.96s, 197270 K Leaf Nodes/sec
13 ply, e = 1766623630, 9.26s, 190574 K Leaf Nodes/sec
14 ply, e = 7978439499, 43.01s, 185458 K Leaf Nodes/sec
15 ply, e = 36263167175, 202.97s, 178653 K Leaf Nodes/sec
15/9/2012: Single thread + 4GB Hash table
5 ply, 7361, 00:00:00, 0.000 Bi Leaf Nodes/s
6 ply, 36768, 00:00:00, 0.001 Bi Leaf Nodes/s
7 ply, 179740, 00:00:00, 0.003 Bi Leaf Nodes/s
8 ply, 845931, 00:00:00, 0.012 Bi Leaf Nodes/s
9 ply, 3963680, 00:00:00, 0.040 Bi Leaf Nodes/s
10 ply, 18391564, 00:00:00, 0.108 Bi Leaf Nodes/s
11 ply, 85242128, 00:00:00, 0.213 Bi Leaf Nodes/s
12 ply, 388623673, 00:00:01, 0.363 Bi Leaf Nodes/s
13 ply, 1766623630, 00:00:03, 0.577 Bi Leaf Nodes/s
14 ply, 7978439499, 00:00:08, 0.887 Bi Leaf Nodes/s
15 ply, 36263167175, 00:00:25, 1.396 Bi Leaf Nodes/s
16 ply, 165629569428, 00:01:16, 2.169 Bi Leaf Nodes/s
17 ply, 758818810990, 00:03:38, 3.468 Bi Leaf Nodes/s
Aaart, Are your reported times independent per depth, or cumulative (include previous depths?) My times are independent per depth.
AartBik wrote:I tried several hash strategies, but simply overwriting entries with new entries always performed best for me.
Do people have other experiences with this?
Looking at the figures there is something very good about your hash table implementation, or something bad about mine!
I also tried "always overwrite" without improvement. In fact I tried every strategy on the chess wiki plus a few of my own. I ended up with the 2 bucket strategy by Thompson/Condon, one of the buckets is an "always replace". Memory latency plays a huge part here, in the hash table version, it spends 70% of all time resolving cache misses.