Computer Chess Club Archives


Search

Terms

Messages

Subject: fastest memory layout

Author: Tony Werten

Date: 22:10:39 09/30/04


Hi all,

I have a simple question on wich I thought I had an answer, but I'm starting to
doubt. However, since the memory requirements of my program are still getting
bigger very fast, I'm not sure what is to blame, and switching back and forth
takes too much time.

Question:

What is faster ?

struct
{
   move  current_move[MAXPLY],hashmove[MAXPLY],killers[MAXPLY];

   moves movelist[3000]
   // etc

} TREE

or

struct
{
   move  current_move,hashmove,killers;
   // etc

} SEARCHDATA

struct
{
   SEARCHDATA data[MAXPLY];

   moves movelist[3000]
   //

} TREE

ie In the second case, all data from current ply should be close in memory and I
can locally use a SEARCHDATA* wich would be pointing to
 &tree.data[currentply], and have less adresscalculation.

I always thought the 2nd should be fastest. Is that so ?

Tony



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.