Author: Severi Salminen
Date: 00:32:22 01/24/01
Go up one level in this thread
>I used to scan a piecelist and then make a class call to generate captures and >moves like "Piece->GenerateCaptures();". I consolidated all my generate code >from my piece classes into ONE piece of code which eliminated the overhead of >the calls I guess. You seem to be using C++? I use plain old C. I have also made four functions for black and white captures and non captures. This of course decreases unnecessary argument passing. How much - hard to say. >I would think that increasing the performance of my move generation would help >the search since making and unmaking moves is only a subset of the moves that >are generated. This increase in Moves-Per-Second is mainly due to combining all >the generate code from my Piece classes into ONE big chunk of code. I think >that I am getting a performance increase due to the elimination of calling >Genmoves for each piece. Most likely. A lot can be achieved by thinking what to store in Move structure (if you use that). When I started i had: .from, .to, .promote, .en_passant, .castle, .sort_value, .see_value and value. Many unnecessary things. Now I have only 4 of them. Many things are now done in move makeing instead of generating. This has speeded my engine _a lot_ up. Do you use BitBoards or arrays? Apparently BBs if you use Crafty like techniques. Severi
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.