Already found something: Calling SEE when computing priority of a move much too slow.
Now I get this. See below. (Reducing like hell)
Everything you do in eval makes it slow. So I try to reduce that. Best would be only to count piece square value.
But that gives problem with giving castling bonus.
Other bottlenecks: Collecting captures. Computing hash key, computing move priority, sorting move priority queue.
Immutable datastructures etc.
Because search is recursive performance call tree being misleading.
Code: Select all
1 47 11 6 d2d4
2 3 13 133 d2d4 d7d5
3 40 17 559 d2d4 d7d5 g1f3
4 -3 19 1087 d2d4 d7d5 g1f3 b8c6
4 -1 21 1685 e2e4 g8f6 e4e5 f6e4
5 34 37 8844 e2e4 b8c6 b1c3 e7e5 g1f3
6 7 51 15939 e2e4 b8c6 d2d4 e7e5 d4e5 c6e5
7 15 67 26477 e2e4 b8c6 d2d4 g8f6 b1c3 e7e5 g1f3 e5d4 f3d4 c6d4 d1d4
8 7 93 46300 e2e4 b8c6 g1f3 e7e5 d2d4 f8d6 d4e5 c6e5
9 28 274 190823 e2e4 b8c6 g1f3 e7e5 b1c3 g8f6 f1c4 f8c5 e1g1
10 28 399 289175 e2e4 b8c6 d2d4 g8f6 d4d5 c6e5 b1c3 e7e6 g1f3 f8d6
11 5 934 711399 e2e4 e7e5 d2d3 f8d6 g1f3 g8f6 c1e3 b8c6 b1c3 e8g8 f1e2
11 9 1124 868871 d2d4 d7d5 b1c3 b8c6 c1f4
12 6 1232 960202 d2d4 d7d5 b1c3 b8c6 c1f4 e7e6 e2e3 g8f6 f1d3 f8d6 g1f3 c8d7
13 7 1400 1095184 d2d4 d7d5 b1c3 b8c6 c1f4 e7e6 e2e3 g8f6 f1d3 f8d6 g1f3 d6f4 e3f4
14 8 1962 1545417 d2d4 d7d5 g1f3 g8f6 b1c3 c8f5 c1f4 b8c6 e2e3
15 8 3256 2552820 d2d4 d7d5 g1f3 g8f6 b1c3 e7e6 c1g5 c7c5 e2e4 c5d4 f3d4 f8c5 f1b5 c8d7 b5d7 d8d7
16 8 5458 4236664 d2d4 d7d5 g1f3 g8f6 b1c3 e7e6 c1g5 c7c5 e2e4 c5d4 f3d4 f8c5 f1b5 c8d7 b5d7 d8d7
17 13 9542 7407134 d2d4 d7d5 g1f3 g8f6 e2e3 b8c6 c2c4 e7e6 b1c3 c8d7 c4d5 e6d5 f1d3 f8d6 e1g1
18 10 15105 11680875 d2d4 d7d5 g1f3 g8f6 e2e3 e7e6 c2c4 c7c5 b1c3 b8c6 f1d3 d5c4 d3c4 f8d6 e1g1 c8d7 c1d2 e8g8
19 12 27739 20624405 d2d4 d7d5 g1f3 g8f6 e2e3 e7e6 c2c4 c7c5 b1c3 b8c6 f1d3 f8d6 c3b5 d6e7 c1d2 c8d7 d2c3 a7a6 c4d5 e6d5