Moderator: Andres Valverde
Uri Blass wrote:I still think that calculating the attack tables is not so expensive and maybe using them is the expensive part.
I profiled movei in perft mode when it calculates perft 6 from the opening position(I did not finish it because it took more than 10 minutes(when I profile it then it is some 100's times slower than normal movei that can calculate perft 6 in 4.078 seconds in perft mode on A3000).
FEN: R6R/3Q4/1Q4Q1/4Q3/2Q4Q/Q4Q2/pp1Q4/kBNN1KB1 w - - 0 1
+-a--b--c--d--e--f--g--h-+ MS Visual Studio C++ Version 13.10
8 |<R>::: ::: ::: <R>|
7 |::: :::<Q>::: ::: | Testscenario searching for:
6 | <Q> ::: :::<Q>:::| undirected check threats
5 |::: ::: <Q> ::: |
4 | :::<Q>::: ::: <Q>| Test #: 13
3 |<Q> ::: :::<Q>::: |
2 |[p][p] <Q> ::: :::| Test Count: 750000*64
1 |[k]<B><N><N>:::<K><B> | per Second: 146341463
=>+-a--b--c--d--e--f--g--h-+ Time: 0.328 sec
-- -- -- -- -- -- -- --
-- -- -- -- -- -- -- --
-- -- -- -- -- -- -- --
-- -- -- -- -- -- -- --
-- -- -- -- -- -- -- --
-- -- -- -- -- -- -- --
bK bK -- -- -- -- -- --
bP bP bP -- -- -- -- --
FEN: r1bRN3/pk2pp2/3p4/K1pP3r/5R2/5B2/8/8 w - c6 0 1
+-a--b--c--d--e--f--g--h-+ MS Visual Studio C++ Version 13.10
8 |[r]:::[b]<R><N>::: :::|
7 |[p][k]::: [p][p]::: | Testscenario searching for:
6 | ::: * [p] ::: :::| undirected check threats
5 |<K> [p]<P>::: :::[r]|
4 | ::: ::: <R> :::| Test #: 08
3 |::: ::: :::<B>::: |
2 | ::: ::: ::: :::| Test Count: 750000*64
1 |::: ::: ::: ::: | per Second: 82901554
=>+-a--b--c--d--e--f--g--h-+ Time: 0.579 sec
bK bK bK -- -- -- -- bR
bK bP bK bP -- -- -- bR
bP bP bP bP bP bP bP bR
-- -- bP bR bP bR bR --
-- bP -- bP -- -- bB bR
-- -- -- -- -- -- -- bR
-- -- -- -- -- -- -- bR
-- -- -- -- -- -- -- bR
FEN: cr5nr1/p1p1p1Pppp/3p2a3/PpPk4N1/1PC2P4/4BN1PA1/1Q2B3PP/1R3K2R1 w Q b6 0 1
+-a--b--c--d--e--f--g--h--i--j-+ MS Visual Studio C++ Version 13.10
8 |[c][r] ::: ::: [n][r]:::|
7 |[p] [p] [p] <P>[p][p][p]| Testscenario searching for:
6 | :*: [p] :::[a]::: :::| undirected check threats
5 |<P>[p]<P>[k]::: ::: <N> |
4 | <P><C>::: <P> ::: :::| Test #: 21
3 |::: ::: <B><N>:::<P><A> |
2 | <Q> :::<B>::: :::<P><P>| Test Count: 750000*80
1 |:::<R>::: :::<K>::: <R> | per Second: 66225165
=>+-a--*--c--d--e--*--g--h--i--j-+ Time: 0.906 sec
bR bN bR bR bN bN bR bN -- bR
bN bR bN -- bN bN -- bN bN bN
-- bP bK bP bK bP bP bP bP bP
-- bR bP -- bP bP -- bP bN --
bP -- bP bK bP bN -- bN bN --
-- -- -- bN -- -- -- -- -- bN
-- -- bN -- -- -- -- -- -- --
-- bN -- -- -- -- -- -- -- --
Reinhard Scharnagl wrote:Hi Zach,
what do you intend to say? That it would not give comparable Perft results when having chosen a legal move generator?
What is the difference when checking the legality of a move by another method than by expanding and watch the king survive? It is a free choice how to manage that task.
And it would be interesting - if you point to Perft results obviously being that important to you - to see your numbers, of course with similiar statistics on mates and other move types.
Regards, Reinhard.
(zct)1. perft 5
4865609 nodes 0.375 s 12.975m nps
(zct)1. perft 6
119060324 nodes 10.012 s 11.892m nps
Return to Programming and Technical Discussions
Users browsing this forum: No registered users and 43 guests