Author: Tord Romstad
Date: 14:14:07 02/15/04
Go up one level in this thread
Hi Andrew, This has been mentioned elsewhere in the thread, but it is so important that I would like to repeat it: Don't worry about the speed of your move generation function! Concentrate on making it correct, rather than on making it fast. Then finish the rest of your program. When you finally have a program that is able to play chess, try to improve your search function. This is the number 1 factor which determines how fast your program is. Don't try to increase the number of nodes per second, try to reduce the number of nodes you need to reach a certain search depth! The improvements you gain by improving your search are incomparably bigger than those you get by optimizing your move generation function. When your search is finally beginning to look very efficient, you can consider profiling your program. If it turns out that it spends a significant fraction of its time generating moves (which is rather unlikely), you can return to the move generation function. It is often said that premature optimization is the root of all evil in programming. I think this is even more dangerous in chess programming than elsewhere. Premature optimization is the number one reason why many programmers spend a very long time before they have a working and bug-free program, and it is the most important factor which slows down their speed of improvement while the program is young. Tord
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.