Author: Christophe Theron
Date: 10:50:30 09/14/03
Go up one level in this thread
On September 14, 2003 at 10:11:34, Bob Durrett wrote:
>On September 14, 2003 at 09:28:07, Uri Blass wrote:
>
>>I know that usually top programs do not evaluate a lot of special cases about
>>endgames like situation of theoretical draw of KRPPP vs KRPP when the pawns are
>>in the same side
>>
>>My question is if except having more important things to do there is a speed
>>reason for programmers not to have big code for rare cases when calculating if
>>the rare cases happen is cheap but calculating the evaluation is not cheap?
>>
>>In the relevant example you can assume that
>>checking if a position is KRPPP vs KRPP is cheap but calculating if you can
>>evaluate it as a draw position is not cheap.
>>
>>Uri
>
>How much of a chess engine's code gets loaded into RAM? If not much or any,
>then it may be a speed hit to have to keep going to the hard drive to get needed
>blocks of code.
>
>My computer has 2 GB RAM but I typically allocate much of it to a Hash table.
>Perhaps there is some sort of tradeoff between hash table size and RAM remaining
>for the engine's other uses. I also do not know how much of the RAM is used to
>store temporary data [other than in hash tables] and how much is used to
>temporarily house engine code. Perhaps these factors vary from one engine to
>another or from one programmer to the next.
>
>I have always thought that, with the huge hard disks we have nowadays, the total
>number of lines of code is unimportant. Not being a professional computer
>programmer, I assume one brings into RAM only the code one is going to be using
>in the near term and then use the code there to minimize trips to the hard
>drive. I envision special-purpose blocks of code being brought into RAM only
>when needed and written over when no longer needed. That has been my
>perception.
>
>Awhile back, I asked about the feasibility of loading blocks of engine code into
>one or more of the microprocessor's on-die memory elements. The idea is that
>the time needed to go get needed code would be very small in that case. No one
>said that would be impractical if the on-die memory elements were large enough.
>It would just be difficult for the programmer since he/she does not have
>complete control over what happens on-die.
>
>
>Bob D.
There is absolutely no need to store parts of the program on the disk.
Everything can be loaded into RAM when you start the program.
The size of a typical chess engine does not exceed 0.5Mb. Mine must be around
256Kb. There is nothing to save by keeping parts of it on disk.
On the other hand you would waste a lot of time swapping parts of the engine in
and out to disk.
All the chess engine are just completely loaded into RAM when you start them and
it's the right thing to do.
Christophe
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.