Computer Chess Club Archives




Subject: Re: is the

Author: Tom Kerrigan

Date: 14:21:31 07/20/98

Go up one level in this thread

On July 20, 1998 at 13:35:50, Bruce Moreland wrote:

>I am skeptical that one out of every twenty-five instructions in your program
>has to do with checking this boolean.

You can't associate 4% with 1/25 instructions. Switching from dead bit to
a) eliminates many memory accesses
b) eliminates many branches, misprediction penalties
c) makes the code smaller, perhaps better cacheable
I don't think 4% is unreasonable...

I thought that endgame positions would favor the dead bit program, because the
functions to link and unlink the piece records don't scale as well as, say, the
move generator. The results were actually exactly the opposite. The unlinking
program was 8% faster in endgame positions. Maybe this is because a lot of
pieces were being captured...

>I would like to ask you to do another test, if you could, since you have both
>versions available.

I'll do the test, but I'm not sure why.
The test that I did ran for half an hour, which is enough to average out any
"warming up" necessary, in my opinion. I also ran the unlinking program first,
so the "warm up" advantage would be with the dead bit program.
It also seems to me that the code has been changed enough and the programs
probably ran in different memory spaces anyway, so I doubt caching played a
major role in this.


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.