Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: MoveGen Speed

Author: Russell Reagan

Date: 17:03:05 03/14/04

Go up one level in this thread


On March 14, 2004 at 19:27:54, macaroni wrote:

>Hi. I have been re-writing my move generation, converting it into 0x88. What are
>good ways to test movegen speed? I put it on this position:
>
>[D]rnbqkbnr/pppppppp/8/8/8/8/8/RNBQKBNR w KQkq - 0 1
>
>and had it just regenerate moves over and over again in the same position. It
>generated 20 million moves per second in this position, is that good, bad, or
>not really very important?
>cheers
>Tor

If you want to test your move generator, you should also test your functions to
make and undo moves. The reason is that if you generate legal moves, your
movegen will be a little slower, but you don't have to check if the move was
illegal after you play it. If you generate pseudolegal moves, then your move
generator will be faster, but it will be a little slower to make a move, since
you have to verify that the move was legal some way or another. Therefore, I
would recommend perft, which tests all three.

I have to give this recommendation a disclaimer though. You should really only
compare perft numbers with your own program, and with other programs that you
are sure don't use any "tricks" to speed up perft calculation. Some people use
attack tables or hash tables or other things to calculate perft faster, and that
defeats the purpose of testing the speed of your movegen/make/undo functions.
Crafty just counts nodes, so you could compare how fast you calculate perft
compared to it and get an idea of how fast your movegen/make/undo functions are.
Plus perft is a good thing to have to find out if your movegen/make/undo
functions are working correctly.



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.