Author: Larry Griffiths
Date: 05:44:07 01/24/01
Go up one level in this thread
On January 24, 2001 at 03:32:22, Severi Salminen wrote: >>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. I am mostly using bitboards. My move structure contains from,to,promotion,flags and score. :) > >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.