Author: Roman Hartmann
Date: 04:46:38 02/22/06
Go up one level in this thread
On February 22, 2006 at 07:31:30, Thomas Mayer wrote: >Hi Reinhard, > >On February 22, 2006 at 02:33:13, Reinhard Scharnagl wrote: > >>On February 21, 2006 at 20:16:33, Sean Mintz wrote: >> >>>... >>>On to the results: >>> >>>Version One >>> >>>Calculating Perft to depth 6 ... 119060324 >>>Took 19.44 seconds >>>Performing Move Generator Test ... Took 0.922000 seconds >>>Performing Move Make Test ... Took 2.243000 seconds >>>Performing Attack Test ... Took 0.320000 seconds >>> >>>Version Two >>> >>>Calculating Perft to depth 6 ... 119060324 >>>Took 24.48 seconds >>>Performing Move Generator Test ... Took 1.932000 seconds >>>Performing Move Make Test ... Took 2.214000 seconds >>>Performing Attack Test ... Took 0.410000 seconds >>> >>>I was personally surprised to see the second version running so much slower. >> >>Hi Sean, >> >>let me assure you that a flat data structure is good still for fast move >>generating. My SMIRF is flat but not 0x88 based. Actually I am short before a >>complete rewrite of its structures. Nevertheless its move generator (legal move >>only, fully informed about check threads, mating etc.) actually could produce >>following statistic very fast (which is important to fairly compare valid move >>generation): >> >> >>FEN: rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1 >> >> +-*--b--c--d--*--f--g--*-+ MS Vis.Studio C++ Vers. 13.10 >>8 |[r][n][b][q][k][b][n][r]| (Compilation: Feb 13 2006) >>7 |[p][p][p][p][p][p][p][p]| >>6 | ::: ::: ::: :::| Perft Testseries >>5 |::: ::: ::: ::: | >>4 | ::: ::: ::: :::| (without caching) >>3 |::: ::: ::: ::: | >>2 |<P><P><P><P><P><P><P><P>| Smirf Test No.: 00 >>1 |<R><N><B><Q><K><B><N><R>| >>=>+-*--b--c--d--*--f--g--*-+ Break Time 15.0 Sec. >> >>Ply Nodes all (x) (e.p.) all (+) (#) Prom. Cstl. Sec. >>------------------------------------------------------------------------------ >>1 20 0 0 0 0 0 0 0 >>2 400 0 0 0 0 0 0 0 >>3 8902 34 0 12 0 0 0 0 >>4 197281 1576 0 469 8 0 0 0 >>5 4865609 82719 258 27351 347 0 0 0.203 >>6 119060324 2812008 5248 809099 10828 0 0 5.344 >>7 3195901860 108329926 319617 33103848 435767 0 883453 142.2 >>------------------------------------------------------------------------------ >> >>Regards, Reinhard. > >just for curiosity: Your mate count given in this table, does that include mates >in the leaves ? Usually one reason why engines with legal move generation are so >fast in perft is, that they can stop perft one ply before the leaves because >they have already all the legal moves in hand. (Quark is something inbetween >here -> to test the legality it must not do a deepening because it checks it's >legality already before the move is made) > >Greets, Thomas Reinhards impressive perft stats are one of the reasons I wasted so much time with my movegenerator. I'm using also a legal move generator in my engine and if I would like to count the mates and stalemates I would have to check if the king for the side to move is in check everytime the move generator gives back a 0, meaning that there are no legal moves left for the side to move. That wouldn't take too much time though. Roman
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.