Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Java vs. C++ Chess Programming Question

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.