How to speed up my engine

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

asanjuan
Posts: 214
Joined: Thu Sep 01, 2011 5:38 pm
Location: Seville, Spain

Re: How to speed up my engine

Post by asanjuan »

flok wrote:
asanjuan wrote:Search over ALL captures adds an extra overhead that you don't need. For example, you can discard losing captures in the quiescence search because you will surely stand pat in the next ply. Check that you are doing well the stand pat.

I suggest you to implement a SEE function and discard moves where SEE < 0
The one described in the wiki is pretty good. Rhetoric has this function adapted. You should see a speedup.
This see, am I supposed to do something like:

int see(someting)
{
doMove()
generateMoveList()
see()
undoMove()
}

Or is it enough to just check which of the opponent with the lowest eval can re-catch and so on (swap colors) until all of them are evaluated?
Because this step of generating a list of moves can be rather cpu-intensive.
Here is a very good explanation.

http://chessprogramming.wikispaces.com/ ... Evaluation
Still learning how to play chess...
knigths move in "L" shape ¿right?
Sven
Posts: 4052
Joined: Thu May 15, 2008 9:57 pm
Location: Berlin, Germany
Full name: Sven Schüle

Re: How to speed up my engine

Post by Sven »

lauriet wrote:Can anyone disable their transposition table and post the before and after information
e.g. How many extra ply it is worth.

Does Nodes go up........what about all the nodes it bypasses because of the TT entry ? Does that men nodes go down ? But now its searching new nodes....so do nodes go up ?
Do you assume that nodes go down because of the TT and then they go up because of the extra search.....does this mean the node count is not as significant :?:
It depends on how you terminate your search. If you do a fixed-depth search, e.g. depth 7, then of course correctly using a TT will lead to a lower overall node count than not using a TT. If you do a fixed-time search, e.g. 60 seconds, then using a TT will let you search deeper (and reduce the EBF) but the overall node count will not be affected much, assuming that NPS is roughly the same with TT or without TT. (In fact this is not quite true since processing a node with a TT hit is faster than for other nodes, but this will go mostly unnoticed unless TT is also used within quiescence search.)
Sven
Posts: 4052
Joined: Thu May 15, 2008 9:57 pm
Location: Berlin, Germany
Full name: Sven Schüle

Re: How to speed up my engine

Post by Sven »

lauriet wrote:So I guess that is 954040/60 = 15900 NPS
Are "Qnodes" now included within "Nodes"?
Do you have an explanation why "Qnodes" is such a low number in your case? As I mentioned in a previous post, it should be about 80-90% of the total number of nodes.

Also your number of eval hash hits surprises me. The code that I saw (which might be old) already did the hash table lookup when encountering depth == 0, so it saved the whole Q-search results, not just the eval results. Is that somehow related to the low number of "Qnodes"?
Henk
Posts: 7216
Joined: Mon May 27, 2013 10:31 am

Re: How to speed up my engine

Post by Henk »

Speed is about nodes per second. So you have to speed up move generation.

If you want to search deeper you have to skip more nodes.
jdart
Posts: 4366
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: How to speed up my engine

Post by jdart »

That is way too many nodes.

Arasan's node count per ply (see last column), using this position
r1b1k2r/ppqn1ppp/2pbpn2/4N3/2BP4/2N5/PPP2PPP/R1BQR1K1 w kq -

1 0.00 Ng4 +0.62 119
1 0.01 Bf4 +0.76 170
1 0.01 Bf4 +0.76 409
2 0.01 Nxf7 +0.69 613
2 0.01 Nxf7 +0.69 2190
3 0.01 Nxd7 +0.79 3363
3 0.01 Nxd7 +0.79 4452
4 0.01 Nxf7! +0.98 4962
4 0.02 Nxf7 +1.04 5322
5 0.02 Nxf7 +0.92 6043
6 0.02 -- +0.74 7170
6 0.02 Bf4 +0.36 10264
6 0.02 Bf4 +0.36 10813

This is even using a wide window for the first few plies, so I can detect "easy moves." You should get be able to get much smaller numbers than you have (and if you do you will get to higher depths much faster).

I do all the forward pruning stuff that is standard now. But even if you just have null move you should be doing better I think. Static null pruning (https://chessprogramming.wikispaces.com ... ty+Pruning) is also very effective.

--Jon
Sven
Posts: 4052
Joined: Thu May 15, 2008 9:57 pm
Location: Berlin, Germany
Full name: Sven Schüle

Re: How to speed up my engine

Post by Sven »

Henk wrote:Speed is about nodes per second. So you have to speed up move generation.

If you want to search deeper you have to skip more nodes.
Both statements are not fully correct:

If move generation takes only a small portion of overall processing time (say, < 10%), which is the case in most serious engines, then speeding up move generation does not help a lot. In most cases choosing better algorithms will be the better choice.

Skipping more nodes is not the only way to achieve a deeper search, in many cases a better move ordering is the way to go.
Henk
Posts: 7216
Joined: Mon May 27, 2013 10:31 am

Re: How to speed up my engine

Post by Henk »

Sven Schüle wrote:
Henk wrote:Speed is about nodes per second. So you have to speed up move generation.

If you want to search deeper you have to skip more nodes.
Both statements are not fully correct:

If move generation takes only a small portion of overall processing time (say, < 10%), which is the case in most serious engines, then speeding up move generation does not help a lot. In most cases choosing better algorithms will be the better choice.

Skipping more nodes is not the only way to achieve a deeper search, in many cases a better move ordering is the way to go.
I doubt if search can predict right move ordering efficiently. Skipping is what remains. And if all moves have about the same value move ordering is waste of time.
lauriet
Posts: 199
Joined: Sun Nov 03, 2013 9:32 am

Re: How to speed up my engine

Post by lauriet »

lauriet wrote:Can anyone disable their transposition table and post the before and after information
e.g. How many extra ply it is worth.


Anyone ?.......
Anyone at all ? .............
Stan Arts
Posts: 179
Joined: Fri Feb 14, 2014 10:53 pm
Location: the Netherlands

Re: How to speed up my engine

Post by Stan Arts »

lauriet wrote: Anyone ?.......
Anyone at all ? .............
Sure, but it's safe to conclude that a hashtable is very important. You didn't specify (or I didn't read right) just turning off transpositions or hash completely along with best moves. But here's Nemeton with hash off completely.
Makes far less of a difference in depth for Nemeton than it used to. I think that has to do with late move style reductions/pruning. Without hashmoves as expected it actually prunes way more and less accurately.

Opening position. No PV without hash because I pull the PV out of the hashtable.

Code: Select all

2   1      0       45         Nf3 
3   1      0       99         Nf3 
4   31     0       215        Nf3 
5   1      0       401        Nf3 
6   1      0       991        Nf3 
7   15     0       6058       Nf3 
8   9      2       8705       Nf3 
9   11     5       22890      Nf3 
10  6      11      79913      Nf3 
11  6      28      227458     Nf3 
12  10     81      697017     Nf3 
13  5      158     1346361    Nf3 
14  5      507     4334201    Nf3 
14  7      708     6027230    Nc3 
15  14     3220    27495732   Nc3 
16  11     8867    75590678   Nc3 
16  14     10173   86734009   Nf3

2   1      0       45         Nf3 Nf6 
3   1      0       79         Nf3 Nf6 
4   31     0       179        Nf3 Nf6 Nc3 
5   1      0       353        Nf3 Nf6 Nc3 Nc6 
6   15     0       869        Nf3 Nf6 Nc3 Nc6 e3 
7   1      0       2202       Nf3 Nc6 Nc3 Nf6 e3 d6 
8   9      0       6192       Nf3 Nc6 Nc3 Nf6 e3 d6 h4 
8   10     2       9634       d4 Nf6 Nf3 Nc6 Nc3 d5 Bd2 
9   0      5       23738      d4 Nf6 Nf3 d6 Nc3 Nc6 e4 Bd7 
9   10     5       27632      Nf3 Nc6 Nc3 Nf6 d3 d6 Bd2 
10  6      11      71890      Nf3 Nf6 Nc3 Nc6 h4 d6 e3 Bd7 a4 h6 
10  8      16      113556     d4 Nf6 Nf3 d5 Bf4 Bd7 Nc3 Nc6 h4 
11  5      26      206478     d4 Nf6 Nf3 d5 Nc3 Nc6 Ne5 Nxe5 dxe5 Ng4 Nxd5 
11  7      31      252000     Nf3 Nf6 Nc3 Nc6 e4 d6 d4 b6 Bd2 a5 
12  7      59      484753     Nf3 Nf6 Nc3 Nc6 e3 h5 Be2 h4 O-O h3 g3 
13  11     139     1162772    Nf3 Nf6 Nc3 Nc6 e3 e6 Be2 Be7 a4 O-O O-O Rb8 
14  11     434     3653507    Nf3 Nf6 e3 g6 d4 Rg8 Nc3 d6 Bd2 Bd7 
15  9      1404    11819535   Nf3 Nf6 d4 d5 g3 g6 Bg2 Bg7 Nc3 O-O O-O Nc6 Bf4 Bf5 a4 
15  13     1760    14879325   e4 Nf6 Nc3 Nc6 d4 e5 d5 Nd4 Ng1e2 c5 Nxd4 cxd4 
16  13     2599    21979213   e4 Nf6 Nc3 e5 Nf3 Bb4 Nxe5 d6 Nf3 Bxc3 bxc3 Nxe4 
Wac 141.
[d]4r1k1/p1qr1p2/2pb1Bp1/1p5p/3P1n1R/1B3P2/PP3PK1/2Q4R w - - 0 1

Code: Select all

2   -285   0       133        Kf1 
3   -223   0       425        Kf1 
4   -204   0       2694       Kf1 
5   -243   0       4965       Kf1 
6   -208   3       15588      Kf1 
7   -224   5       24137      Kf1 <--> 
7   -223   6       40240      Kf1 <++> 
7   -279   9       65361      Kf1 
8   -263   12      82907      Kf1 <++> 
8   -208   20      142666     Kf1 
9   -218   34      259219     Kf1 
10  -202   90      693319     Kf1 <++> 
10  -203   92      711093     Kf1 <--> 
10  -196   186     1457053    Kf1 
10  -180   195     1532568    Qxf4 <++> 
10  -30    203     1597290    Qxf4 <++> 
10  270    225     1758951    Qxf4 <++> 
10  720    357     2812999    Qxf4 <++> 
10  998    574     4547407    Qxf4 
11  1014   649     5125321    Qxf4 <++> 
11  1164   760     5988652    Qxf4 <++> 
11  1464   889     7023647    Qxf4 <++> 
11  1914   969     7663538    Qxf4 <++> 
11  1913   1009    7998363    Qxf4 <--> 
11  29988  1696    13693672   Qxf4 
12  29988  1894    15378430   Qxf4 

2   -285   0       133        Kf1 Re2 
3   -223   0       462        Kf1 Ne2 Qh6 
4   -204   0       1918       Kf1 Kh7 Rg1 
5   -243   0       4242       Kf1 Re2 Qb1 Be7 Rxf4 
6   -210   1       8724       Kf1 Kh7 Bc2 a6 
7   -226   5       17828      Kf1 <--> 
7   -265   5       23237      Kf1 Re2 Qb1 Bb4 Rxf4 Re1+ Qxe1 Bxe1 
8   -249   8       36352      Kf1 <++> 
8   -233   11      67665      Kf1 a5 a4 bxa4 Bxa4 Nd5 
9   -217   20      136245     Kf1 <++> 
9   -218   33      228327     Kf1 <--> 
9   -202   42      302999     Kf1 b4 Bc4 Kh7 Rg4 Nd5 Bxd5 
9   -186   47      335928     Qxf4 <++> 
9   -36    51      377275     Qxf4 <++> 
9   264    67      504157     Qxf4 <++> 
9   292    70      530056     Qxf4 Bxf4 Rxh5 gxh5 Rxh5 Bh6 Rxh6 Qh2+ Rxh2 Rxd4 
10  308    79      598898     Qxf4 <++> 
10  458    94      709282     Qxf4 <++> 
10  758    118     910462     Qxf4 <++> 
10  998    181     1404232    Qxf4 Be7 Rxh5 Bxf6 Qxf6 gxh5 Rxh5 Qh2+ Rxh2 Rxd4 
11  1014   211     1596870    Qxf4 <++> 
11  1164   229     1754695    Qxf4 <++> 
11  1464   303     2337228    Qxf4 <++> 
11  1914   423     3306440    Qxf4 <++> 
11  29988  572     4599498    Qxf4 Be7 Rxh5 Bxf6 Qxf6 gxh5 Rxh5 Qh2+ Rxh2 Rxd4 Qxf7+ M6#
12  29988  613     4902985    Qxf4 Be7 Rxh5 Bxf6 Qxf6 gxh5 Rxh5 Qh2+ Rxh2 Rxd4 Qxf7+ M6#
13  29988  663     5263475    Qxf4 Be7 Rxh5 Bxf6 Qxf6 gxh5 Rxh5 Qh2+ Rxh2 Rxd4 Qxf7+ M6#
14  29988  732     5776546    Qxf4 Be7 Rxh5 Bxf6 Qxf6 gxh5 Rxh5 Qh2+ Rxh2 Rxd4 Qxf7+ M6# 
But then with the late move stuff disabled where the hashtable effect becomes much more apparent.

Code: Select all

2   1      0       45         Nf3 
3   31     0       188        Nf3 
4   1      0       446        Nf3 
5   15     0       1564       Nf3 
6   1      0       5410       Nf3 
7   11     3       16925      Nf3 
8   0      11      86309      Nf3 
9   8      37      285102     Nf3 
9   10     75      581243     Nc3 
10  2      232     1859588    Nc3 
11  18     806     6312285    Nc3 <++> 
11  21     1276    9945450    Nc3 
12  11     2957    23192496   Nc3 

2   1      0       45         Nf3 Nf6 
3   31     0       169        Nf3 Nf6 Nc3 
4   1      0       394        Nf3 Nf6 Nc3 Nc6 
5   15     0       1389       Nf3 Nf6 Nc3 Nc6 e3 
6   1      0       4934       Nf3 Nf6 Nc3 Nc6 e3 d6 
7   11     3       12780      Nf3 Nf6 Nc3 Nc6 e4 d6 d4 
8   0      10      61202      Nf3 Nf6 Nc3 Nc6 e4 d6 d4 Bd7 
9   8      22      163103     Nf3 Nf6 Nc3 d5 d3 Nc6 Bd2 Bd7 a4 
9   10     38      288601     Nc3 d5 d4 Nf6 Bf4 Bd7 Bg5 e6 Nf3 
10  2      144     1127081    Nc3 Nf6 e4 e5 Nf3 Nc6 d4 exd4 Nxd4 Nxd4 Qxd4 
11  18     425     3325824    Nc3 <++> 
11  21     512     4041036    Nc3 Nf6 e4 e5 Nf3 Nc6 Bb5 Nd4 O-O Nxb5 Nxb5 
12  11     1074    8462303    Nc3 Nf6 e4 e5 Nf3 Nc6 Bb5 Bb4 Bxc6 dxc6 d3 Bd6 
13  21     3081    24325593   Nc3 Nf6 e4 e5 Nf3 Nc6 Bb5 Nd4 O-O Nxb5 Nxb5 Nxe4 Nxe5 
Wac 141

Code: Select all

2   -285   0       133        Kf1 
3   -223   0       1429       Kf1 
4   -243   0       4759       Kf1 
5   -208   6       37249      Kf1 
6   -224   9       68978      Kf1 <--> 
6   -233   17      129859     Kf1 
7   -217   25      190274     Kf1 <++> 
7   -213   39      302085     Kf1 
8   -204   123     959676     Kf1 
9   -188   232     1815276    Kf1 <++> 
9   -189   234     1833447    Kf1 <--> 
9   -105   574     4544739    Kf1 
9   -89    593     4676769    Qxf4 <++> 
9   61     621     4897827    Qxf4 <++> 
9   292    668     5256686    Qxf4 
10  308    969     7651966    Qxf4 <++> 
10  458    1875    14563619   Qxf4 <++> 
10  758    4467    34504661   Qxf4 <++> 
10  1208   12473   97060150   Qxf4 <++> 
10  1207   12483   97134462   Qxf4 <--> 
10  1770   35056   281255351  Qxf4 
11  1786   35372   283760003  Qxf4 <++> 
11  1936   35700   286366125  Qxf4 <++> 
11  2236   36071   289400946  Qxf4 <++> 
11  2686   36422   292322602  Qxf4 <++> 
11  29988  36826   295882003  Qxf4 
12  29988  38021   306702921  Qxf4 
13  29988  41708   342741627  Qxf4 

2   -285   0       133        Kf1 Re2 
3   -223   0       1021       Kf1 Ne2 Qh6 
4   -243   0       3453       Kf1 Re2 Qb1 Be7 Rxf4 
5   -208   5       28928      Kf1 Kh7 Qb1 Bf8 Kg1 Ne2+ 
6   -224   8       56865      Kf1 <--> 
6   -233   11      77001      Kf1 a5 a4 bxa4 Bxa4 Nd5 
7   -217   17      118216     Kf1 <++> 
7   -213   22      153875     Kf1 a5 Qb1 Nd5 Bxd5 cxd5 Kg1 
8   -204   56      427804     Kf1 a5 Rg1 Re2 Qb1 a4 Bxa4 bxa4 Rxf4 
9   -188   110     834923     Kf1 <++> 
9   -189   111     845296     Kf1 <--> 
9   -105   295     2293560    Kf1 Qb8 Rg1 Kh7 Rg1g4 Re2 Rxf4 Bxf4 Rxf4 
9   -89    312     2411167    Qxf4 <++> 
9   61     350     2711264    Qxf4 <++> 
9   292    420     3256610    Qxf4 Bxf4 Rxh5 gxh5 Rxh5 Bh6 Rxh6 Qh2+ Rxh2 Rxd4 
10  308    479     3705766    Qxf4 <++> 
10  458    709     5492370    Qxf4 <++> 
10  758    1108    8686564    Qxf4 <++> 
10  1208   2014    16024197   Qxf4 <++> 
10  1207   2016    16038834   Qxf4 <--> 
10  29988  4445    36771878   Qxf4 Bxf4 Rxh5 gxh5 Rxh5 Bh6 Rxh6 Qh2+ Rxh2 Rxd4 Rh8+ M6#
11  29988  4783    38820483   Qxf4 Bxf4 Rxh5 gxh5 Rxh5 Bh6 Rxh6 Qh2+ Rxh2 Rxd4 Rh8+ M6#
12  29988  5184    41263304   Qxf4 Bxf4 Rxh5 gxh5 Rxh5 Bh6 Rxh6 Qh2+ Rxh2 Rxd4 Rh8+ M6#
13  29988  5858    46041430   Qxf4 Bxf4 Rxh5 gxh5 Rxh5 Bh6 Rxh6 Qh2+ Rxh2 Rxd4 Rh8+ M6# 
User avatar
cdani
Posts: 2204
Joined: Sat Jan 18, 2014 10:24 am
Location: Andorra

Re: How to speed up my engine

Post by cdani »

lauriet wrote: Anyone ?.......
hash:

Code: Select all

Andscacs 0.86106 by Daniel Jose
20
info depth 1 seldepth 1 score cp 55 nodes 25 nps 12500 time 2 pv e2e3
info depth 2 seldepth 6 score cp 15 nodes 145 nps 24166 time 6 pv e2e3 d7d5
info depth 3 seldepth 8 score cp 22 nodes 390 nps 32500 time 12 pv e2e3 g8f6 b1c
3 d7d5
info depth 3 seldepth 7 score cp 33 nodes 585 nps 36562 time 16 pv d2d4 e7e6 e2e
4
info depth 4 seldepth 8 score cp 6 nodes 732 nps 33272 time 22 pv d2d4 e7e6 e2e4
 d8h4
info depth 4 seldepth 8 score cp 19 nodes 857 nps 32961 time 26 pv e2e3 e7e6 b1c
3 b8c6
info depth 5 seldepth 8 score cp 40 nodes 1223 nps 39451 time 31 pv e2e3 d7d5 b1
c3 g8f6 d2d4
info depth 6 seldepth 10 score cp 0 nodes 3465 nps 88846 time 39 pv e2e3 d7d5 b1
c3 g8f6 g1f3 c7c5
info depth 7 seldepth 11 score cp 26 nodes 5537 nps 115354 time 48 pv e2e3 d7d5
b1c3 e7e6 d2d4 b8c6 f1b5
info depth 8 seldepth 10 score cp 10 nodes 10668 nps 174885 time 61 pv e2e3 d7d5
 b1c3 e7e6 d2d4 b8c6 g1f3 g8f6
info depth 9 seldepth 14 score cp 32 nodes 17508 nps 233440 time 75 pv e2e3 d7d5
 d2d4 e7e6 b1c3 b8c6 g1f3 g8f6 f3e5
info depth 10 seldepth 14 score cp 13 nodes 29103 nps 309606 time 94 pv e2e3 d7d
5 d2d4 e7e6 b1c3 b8c6 g1f3 g8f6 f3e5 f6e4
info depth 11 seldepth 20 score cp 30 nodes 54613 nps 436904 time 125 pv e2e3 e7
e5 d2d4 e5d4 e3d4 d7d5 g1f3 b8c6 b1c3 a7a6 f3e5 g8f6 e5c6 b7c6 f1d3
info depth 12 seldepth 21 score cp 10 nodes 91287 nps 560042 time 163 pv e2e3 d7
d5 d2d4 b8c6 g1f3 e7e6 b1c3 f8d6 f1b5 g8f6 e1g1 e8g8
info depth 13 seldepth 18 score cp 11 nodes 140914 nps 640518 time 220 pv e2e3 d
7d5 d2d4 b8c6 g1f3 e7e6 b1c3 f8d6 f1b5 g8f6 e1g1 e8g8 a2a3
info depth 14 seldepth 24 score cp 6 nodes 177111 nps 670875 time 264 pv e2e3 d7
d5 d2d4 b8c6 g1f3 e7e6 b1c3 f8d6 f1d3 g8f6 e1g1 e8g8 a2a3 a7a6
info depth 14 seldepth 22 score cp 16 nodes 244793 nps 726388 time 337 pv e2e4 e
7e6 b1c3 d7d5 e4d5 e6d5 d2d4 g8f6 g1f3 b8c6 f3e5 f8e7 e5c6 b7c6 d1f3
info depth 15 seldepth 29 score cp 34 nodes 435537 nps 832766 time 523 pv e2e4 e
7e6 d2d4 d7d5 b1c3 d5e4 c3e4 g8f6 e4f6 g7f6 c2c3 c7c5 c1e3 c5d4 e3d4 b8d7 f1d3 f
8c5 g1f3 e6e5 d4e3
info depth 16 seldepth 28 score cp 44 nodes 665109 nps 908618 time 732 pv e2e4 e
7e6 d2d4 d7d5 b1c3 d5e4 c3e4 c8d7 g1f3 f8e7 c2c3 d7c6 f1d3 f7f5 e4d2 g8f6 e1g1 e
8g8
info depth 17 seldepth 29 score cp 49 nodes 1332215 nps 1010018 time 1319 pv e2e
4 e7e6 d2d4 d7d5 b1c3 d5e4 c3e4 g8f6 e4f6 d8f6 c2c3 b8c6 g1f3 h7h6 f1d3 f8e7 e1g
1
info depth 18 seldepth 27 score cp 46 nodes 1560209 nps 1023759 time 1524 pv e2e
4 e7e6 d2d4 d7d5 b1c3 d5e4 c3e4 g8f6 e4f6 d8f6 c2c3 b8c6 g1f3 h7h6 f1d3 f8e7 e1g
1 e8g8 a2a3 c8d7 c1e3 f8d8 f1e1
info depth 19 seldepth 29 score cp 45 nodes 1798114 nps 1043594 time 1723 pv e2e
4 e7e6 d2d4 d7d5 b1c3 d5e4 c3e4 g8f6 e4f6 d8f6 c2c3 h7h6 g1f3 c8d7 f3e5 f8d6 e5d
7 b8d7 f1d3 c7c5 c1e3 e8c8 e1g1 c8b8 f2f4
info depth 20 seldepth 30 score cp 31 nodes 2888300 nps 1068553 time 2703 pv e2e
4 e7e6 d2d4 d7d5 b1c3 d5e4 c3e4 g8f6 e4f6 d8f6 c2c3 b8c6 g1f3 h7h6 f1d3 c8d7 e1g
1 e8c8 f1e1 f8d6 d1e2 d6e7 a2a3 c8b8 c1d2
info nodes 2911395 nps 1063717 time 2737
bestmove e2e4 ponder e7e6
No hash:

Code: Select all

Andscacs 0.86106 by Daniel Jose
20
info depth 1 seldepth 1 score cp 55 nodes 25 nps 12500 time 2 pv e2e3
info depth 2 seldepth 6 score cp 15 nodes 146 nps 20857 time 7 pv e2e3 d7d5
info depth 3 seldepth 8 score cp 22 nodes 414 nps 37636 time 11 pv e2e3 g8f6 b1c
3 d7d5
info depth 3 seldepth 7 score cp 33 nodes 595 nps 37187 time 16 pv d2d4 e7e6 e2e
4
info depth 3 seldepth 3 score cp 39 nodes 677 nps 30772 time 22 pv b1c3 e7e6 e2e
3
info depth 4 seldepth 10 score cp 10 nodes 854 nps 31629 time 27 pv b1c3 d7d5 e2
e3 d5d4
info depth 5 seldepth 12 score cp -4 nodes 1496 nps 45333 time 33 pv b1c3 d7d5 e
2e3 g8f6 d2d4 c8g4
info depth 5 seldepth 9 score cp 40 nodes 1823 nps 46743 time 39 pv e2e3 d7d5 b1
c3 g8f6 d2d4
info depth 6 seldepth 11 score cp 19 nodes 5568 nps 107076 time 52 pv h2h3 e7e5
e2e3 d7d5 b1c3
info depth 7 seldepth 12 score cp 20 nodes 7467 nps 120435 time 62 pv h2h3 e7e5
e2e3 d7d5 d2d4 e5e4 c2c3
info depth 7 seldepth 11 score cp 29 nodes 8527 nps 123579 time 69 pv d2d4 g8f6
b1c3 d7d5 e2e3 c7c6 g1f3
info depth 8 seldepth 13 score cp 20 nodes 14864 nps 176952 time 84 pv e2e4 d7d5
 e4d5 d8d5 b1c3 d5c6 g1f3 c6e6 d1e2 g8f6
info depth 9 seldepth 17 score cp 32 nodes 30002 nps 265504 time 113 pv d2d4 d7d
5 c1f4 e7e6 e2e3 b8c6 b1c3 g8f6 f1b5
info depth 10 seldepth 17 score cp 13 nodes 79348 nps 443284 time 179 pv b1c3 d7
d5 d2d4 g8f6 e2e3 b8c6 g1f3 e7e6 f3e5 f6e4
info depth 11 seldepth 19 score cp 14 nodes 95419 nps 460961 time 207 pv b1c3 d7
d5 d2d4 b8c6 g1f3 e7e6 e2e3 g8f6 g2g3 f6e4 f3e5
info depth 12 seldepth 18 score cp 0 nodes 127419 nps 522209 time 244 pv b1c3 d7
d5 d2d4 e7e6 g2g3 b8c6 g1f3 g8f6 e2e3 f6e4 f3e5 c6e5 d4e5 e4c3 b2c3 c7c6
info depth 12 seldepth 18 score cp 10 nodes 165436 nps 553297 time 299 pv c2c4 e
7e6 d2d4 b8c6 b1c3 d7d5 c4d5 e6d5 e2e3 g8f6 g1f3 f6e4 f3e5
info depth 13 seldepth 25 score cp 22 nodes 345711 nps 701239 time 493 pv c2c4 e
7e6 d2d4 b8c6 b1c3 d7d5 c4d5 e6d5 g1f3 g8f6 f3e5 d8e7 e5c6 b7c6 e2e3 f6e4 d1a4
info depth 14 seldepth 25 score cp 16 nodes 708934 nps 811137 time 874 pv c2c4 e
7e6 d2d4 b8c6 b1c3 d7d5 e2e3 g8f6 g1f3 d5c4 f1c4 f8d6 e3e4 e8g8 e1g1 a7a6
info depth 15 seldepth 28 score cp 17 nodes 2297640 nps 948262 time 2423 pv c2c4
 b8c6 e2e3 e7e6 b1c3 g8f6 d2d4 d7d5 a2a3 g7g6 c4d5 e6d5 f1d3 f8d6 g1f3 e8g8 e1g1

info depth 15 seldepth 22 score cp 19 nodes 2597525 nps 942840 time 2755 pv d2d4
 d7d5 g1f3 e7e6 b1c3 g8f6 e2e3 b8c6 f1d3 f8e7 e1g1 e8g8 a2a3 a7a6 f3e5
info depth 16 seldepth 26 score cp 16 nodes 3460127 nps 949540 time 3644 pv d2d4
 d7d5 b1c3 g8f6 g1f3 e7e6 c1f4 f8b4 e2e3 f6e4 a2a3 b4c3 b2c3 e8g8 c3c4 b8c6 c4d5
 e6d5 c2c4 d5c4 f1c4 f8e8
info depth 16 seldepth 30 score cp 28 nodes 8916257 nps 991466 time 8993 pv e2e4
 e7e6 b1c3 d7d5 e4d5 e6d5 d2d4 f8e7 g1f3 g8f6 f1d3 e8g8 e1g1 b8c6 f1e1 e7d6 c1g5
 h7h6
info depth 17 seldepth 29 score cp 22 nodes 16790180 nps 998761 time 16811 pv b1
c3 d7d5 d2d4 e7e6 c1f4 b8c6 e2e3 f8d6 f4d6 c7d6 g1f3 g8f6 f1e2 e8g8 e1g1 c8d7 a2
a3 a7a6
info depth 18 seldepth 32 score cp 28 nodes 20986233 nps 1005232 time 20877 pv b
1c3 d7d5 d2d4 g8f6 c1f4 e7e6 e2e3 a7a6 f1d3 b8c6 a2a3 f8d6 g1f3 d6f4 e3f4 c8d7 e
1g1 e8g8 g2g3 c6e7
info depth 19 seldepth 31 score cp 19 nodes 27657827 nps 1004424 time 27536 pv d
2d4 g8f6 b1c3 d7d5 c1f4 e7e6 g1f3 f8d6 f4d6 c7d6 e2e3 e8g8 f1d3 c8d7 e1g1 a7a6 a
2a3 b8c6 h2h3 h7h6
info depth 19 seldepth 29 score cp 27 nodes 39594097 nps 1002128 time 39510 pv e
2e4 e7e6 b1c3 d7d5 d2d4 g8f6 e4e5 f6d7 g1f3 c7c5 c1g5 d8b6 c3a4 b6c7 a4c5 h7h6 g
5d2 d7c5 d4c5 f8c5
info depth 20 seldepth 35 score cp 19 nodes 132247223 nps 1031167 time 128250 pv
 d2d4 d7d5 c1f4 e7e6 e2e3 b8c6 c2c3 g7g5 f4g3 h7h5 h2h4 g5g4 b1d2 g8h6 f1d3 h6f5
 d3f5 e6f5 g1e2 f8e7 e2f4
info nodes 133615455 nps 1029982 time 129726
bestmove d2d4 ponder d7d5