Author: Ed Schröder
Date: 00:56:48 08/01/03
Go up one level in this thread
On July 31, 2003 at 21:34:13, Dann Corbit wrote:
>On July 31, 2003 at 19:41:38, Ed Schröder wrote:
>
>>On July 31, 2003 at 19:29:14, Slater Wold wrote:
>>
>>>On July 31, 2003 at 18:41:50, Dann Corbit wrote:
>>>
>>>>On July 31, 2003 at 08:27:55, Slater Wold wrote:
>>>>
>>>>>On July 31, 2003 at 02:45:21, Ed Schröder wrote:
>>>>>
>>>>>>On July 30, 2003 at 18:50:33, Slater Wold wrote:
>>>>>>
>>>>>>>Time Control = 5/5
>>>>>>>Shreder 7.04 - Dual P4 3.06Ghz - +3 -15 =1 (10 loses on time)
>>>>>>>Deep Fritz 7 - Dual AMD 2.3Ghz - +1 -8 =3 (11 loses on time)
>>>>>>>Time Control = 15/5
>>>>>>>Deep Fritz 7 - Dual AMD 2.3Ghz - +0 -0 =1
>>>>>>
>>>>>>
>>>>>>Slate,
>>>>>>
>>>>>>You have been playing this under Chesspartner I assume?
>>>>>>
>>>>>>I have no idea, everything looks fine here but I haven't played Rebel on ICC
>>>>>>yet. Maybe it is related to the permanent brain, that wouldn't be the first time
>>>>>>and you should turn off pondering for this version playing ICC.
>>>>>>
>>>>>>
>>>>>>>Total of 12 hours on ICC = +4 -23 =5 (And 23 loses on time.)
>>>>>>
>>>>>>That must have been frustrating for you :)
>>>>>>
>>>>>>Anyway, thanks for pointing this out.
>>>>>>
>>>>>>Ed
>>>>>>
>>>>>>
>>>>>>>Games will follow.
>>>>>
>>>>>Using 200MB hash, I haven't lost on time in 15 games.
>>>>>
>>>>>I think using 400MB hash is what was locking up the search.
>>>>>
>>>>>I have 1GB of RAM, but....it does seem that the hash was the problem.
>>>>>
>>>>>And now it's not losing on time, and doing much better against it's opponents.
>>>>>:)
>>>>
>>>>400 MB hash in a blitz game!
>>>>
>>>>That is always going to be a problem. Even if it could move on time, it's going
>>>>to play crappy.
>>>>
>>>>Think of how long it takes to clear out 400 MB of memory.
>>>
>>>On a P4? Not long.
>
>Longer than you think, I'll guess.
>Try this program:
>
>#include <assert.h>
>#include <stdio.h>
>#include <string.h>
>#include <stdlib.h>
>#include <time.h>
>
>
>int main(void)
>{
> clock_t start,
> end;
> size_t i;
> size_t ramsize = 400U * 1024U * 1024U;
> void *hash = malloc(ramsize);
> if (hash) {
> assert(ramsize > 4e8); /* some compilers might overflow */
> start = clock();
> for (i = 0; i < 100; i++)
> memset(hash, 0, ramsize);
> end = clock();
> printf("Each clearing of the hash took %.0f seconds\n",
> (end - start) * 1.0 / CLOCKS_PER_SEC);
> }
> return 0;
>}
Your example code is meant to clear the whole hash table but is there a need for
that? In Rebel a HT entry is 16 bytes and I only have to clear 1 byte. That
helps.
Ed
>>>But Rebel uses a swap file, which is probably a bit of a problem. Even on an
>>>U320 SCSI drive.
>>
>>During blitz games Rebel only uses a small part of the hash table, no swapping
>>possible. See the PARAM.TXT file.
>
>But apparently, it's irrelevant.
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.