Author: Keith Evans
Date: 09:49:49 07/29/03
Go up one level in this thread
On July 29, 2003 at 12:05:59, Angrim wrote: >On July 28, 2003 at 22:04:38, Keith Evans wrote: > >>On July 28, 2003 at 20:59:24, Vincent Diepeveen wrote: >> >>>What you find efficient perhaps in commercial terms is still terrible >>>inefficient. Some people are happy for example with bitboard move generator in >>>software. Well at 32 bits architecture i'm 2.2 times faster generating moves >>>than crafty. In fact around 73 million a second after 1.e4,e5 2.d4,d5 at a >>>2.127Ghz K7. >>> >>>That's including general code (so my move generator is not written out for white >>>and black, it is general code) and of course storage of moves and ordering >>>scores to the RAM. >> ><snip> >> >>Regarding 73 million moves generated a second on a 2 GHz K7 and this being twice >>as fast as crafty. Where do you see these kinds of numbers? I don't see anything >>anywhere close to this when running the perft test on a 3 GHz Xeon. (And I don't >>think that there's _that_ big a difference between K7 and Xeon.) >> >>Regards, >>Keith > >perft includes makeing moves, and checking moves for legality, so it >will be much slower than just generating pseudo-legal moves for the >same position over and over. I just coded up a routine to do a few >million calls to get_chess_moves() from the current position and >time it, and from the e4 e5 d4 d5 position I get the equivalent of >60meg moves per second on a 2ghz machine. My perft only gets equiv >of 4.8 meg positions a second though, since my InCheck is pretty slow. > >note that my Athlon is actually running at 1.15ghz currently, so I >multiplied my actual results by (2.0/1.15) to get 2ghz equivalent. > >Angrim That's what I figured was going on. It doesn't seem like an interesting performance metric to me. If you generate all the moves at once and throw most of them away, then is it really fair to quote such a high number? Plus iterating over the same position isn't realistic. I would always quote numbers for legal (not pseudo-legal) moves and include the move making and unmaking overhead. Legal only because otherwise how could you compare the performance of say a move generator that can directly generate check evasion moves and one that cannot? Making/Unmaking overhead because without making a move, how can you generate subsequent moves? You're perft performance seems pretty decent to me. Regards, Keith
This page took 0.02 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.