bug-gnubg
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-gnubg] makebearoff one-sided


From: Joern Thyssen
Subject: Re: [Bug-gnubg] makebearoff one-sided
Date: Wed, 4 Dec 2002 19:44:21 +0000
User-agent: Mutt/1.4i

On Wed, Dec 04, 2002 at 04:49:25PM -0000, Ian Shaw wrote
> makebearoff $Revision: 1.17 $ on Windows 2000.
> 
> I am using the command:
> 
> C:\GnuBg>makebearoff -o 10 -f gnubg_os10.bd
> 
> Getting up to about 800000 takes very little time, but the output slows to a 
> crawl at around 80000 to 90000.
> 
> Nardy warns that it may take several hours to generate each gnubg_os.bd (118 
> Mb) and gnubg_ts.bd (70 Mb). The latter took about 1 hr to generate on my PC, 
> so I'm expecting gnubg_os.bd to take only about 1.5 hours.
> 
> (I note that the output always ends at a round hundred. Is this a
> problem or just how often the screen is updated?)

Just how often the screen is updated.

> 
> I can't imagine why the output should slow down so much. I assume that
> the program looks up the values of the possible resulting positions in
> the database and averages them out. Obviously there are more possible
> positions to examine as the number if chequers and points grows, but I
> wouldn't imagine it to cause this amount of slowdown.
> 
> Is something going wrong, or am I being too impatient? 

I'm aware of the problem.

When the cache size is less than the database you're generating the
generation slows down. To calculate the equity or bearoff distribution
you need the equity or bearoff distribution for all positions you can
reach from the current position. However, if you cache size is not large
enough gnubg has to recalculate the equity or bearoff distribution. The
solution (which I'm about to implement) is to look up the cache miss in
the file generated so far. This will require some disk IO, but will be
much faster than re-calculating equities.

Until I've finished the implementation, the work-around is to specify a
cache size larger than the database you're generating (use the -s option
to makebearoff):

makebearoff -o 10 -f gnubg_os10.bd -s 150000000

Jørn




reply via email to

[Prev in Thread] Current Thread [Next in Thread]