Author: Mark Christiaens
Date: 02:16:40 05/16/01
Go up one level in this thread
On May 15, 2001 at 20:28:25, Sam Gross wrote: >I am writing a bitboard-based chess engine in Java, and a preliminary test of >the search function (plain alpha-beta search, no transposition table, history, >null move, or anything else) was pretty disappointing. I am getting about 10% >of the nps crafty gets on the same machine, even though my evaluation function >is just the material imbalance. My question is, how much of this is due to >differences in speed between Java and C++, and how much is due to lack of a >transposition table (or other factors)? Also, I wonder if my program may be >stretching Java's automatic garbage collectors. A new copy of my board is made >for every node, and each node creates many instances of my move object, which I >imagine would use up a lot of time. Any help would be appreciated. Sounds to me you're using Java as a "silver bullet" Java's memory management is no substitute for some thinking about memory allocation. It is still (just as in C/C++) a costly operation to allocate an object. What I know of conventional chess programs is that they allocate the data structures to store the chessboards up front (a few hundred) and reuse them.
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.