Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Length of time for Move_Gen()?

Author: Sune Fischer

Date: 14:52:37 02/15/04

Go up one level in this thread


On February 15, 2004 at 17:31:43, Bo Persson wrote:

>On February 15, 2004 at 16:01:27, Sune Fischer wrote:
>
>>On February 15, 2004 at 15:46:39, Russell Reagan wrote:
>>
>>>On February 15, 2004 at 15:11:56, Andrew Wagner wrote:
>>>
>>>>So I'm starting to design a chess engine, and I have a nifty little class for
>>>>doing benchmark tests, and I'm wondering if anyone would like to hazard a guess
>>>>as to what is a good (or bad) length of time for an engine to generate all
>>>>pseudo-legal (even if it results in check) moves in a position. Any takers?
>>>
>>>On my computer (Athlon XP 2400+, 2GHz), here are a few results.
>>>
>>>Crafty: 21,231,421 moves/second
>>>Yace:   45,347,583 moves/second
>>
>>Are you sure that this is really the make/umake speed in yace, that it isn't
>>using some perft tricks like Movei?
>
>You can do other "tricks" to speedd up the move generation tests, like updating
>attack tables in make/unmake move. I don't know about Yace, but Crafty is
>trading a "slow" move generator for a faster make/unmake by generating attack
>tables on-the-fly.

Even more importantly Crafty is, to some degree, generating the movelist
pre-sorted.

Sorting the moves is one of the really expensive jobs, an optimization here is
worth 10 times that of a movelist optimization.

>This makes this particular test run slower, but improves the overall speed of
>the program.
>
>So much for benchmarks. :-)

That's true :)

Yace seems very fast at making/unmaking too however.

Not sure how Dieter does it, surely there must be some incremental zobrist and
material counting.

Incheck() is probably an external function that doesn't get called in this test.

-S.

>Bo Persson
>
>>
>>-S.



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.