Author: Vincent Diepeveen
Date: 17:41:37 07/29/03
Go up one level in this thread
On July 29, 2003 at 18:18:31, Keith Evans wrote: >On July 29, 2003 at 17:35:01, Vincent Diepeveen wrote: > >>On July 29, 2003 at 17:14:52, Keith Evans wrote: >> >>>On July 29, 2003 at 17:04:44, Vincent Diepeveen wrote: >>> >>>>On July 29, 2003 at 16:13:19, Keith Evans wrote: >>>> >>>>>On July 29, 2003 at 16:00:20, Tord Romstad wrote: >>>>> >>>>>>On July 29, 2003 at 12:49:49, Keith Evans wrote: >>>>>> >>>>>>>You're perft performance seems pretty decent to me. >>>>>> >>>>>>Indeed. I just did a similar test with my own program on a Pentium 4 2.4 GHz. >>>>>>In the position after 1. e4 e5 2. d4 d5, my program generates 30 million moves >>>>>>per second. I guess I could speed it up somewhat, but I don't think I would >>>>>>come anywhere close to the speeds reported by Vincent and Angrim. >>>>>> >>>>>>My move genererator assigns all moves a move ordering score, and also >>>>>>determines which moves are checks. It generates legal moves only. >>>>>> >>>>>>But anyway, I don't understand why people spend so much time and energy on >>>>>>micro-optimising their move generators. Despite my slow movegen speed, my >>>>>>program spends only 1 or 2 percent of its time in the move generator. I >>>>>>guess most other programmers have similar numbers. >>>>>> >>>>>>Tord >>>>> >>>>>I'm personally interested in the performance of the move generator in a hardware >>>>>chess chip where it is a large percentage of the total cycles. If it were only >>>>>1-2% of the time then I wouldn't be interested. Of course a hardware move >>>>>generator can generate millions of NPS when only running at say 30 MHz, so it's >>>>>a totally different animal than a software generator running on a 3 GHz >>>>>processor. >>>> >>>>hardware doesn't work like that. you cannot store the moves. >>>> >>> >>>Huh? (Duh?) Where did I say that it pregenerates and stores the moves? Of course >>>it generates them incrementally. >> >>but i hope you realize how hard it is to order moves when all you have is 1 >>bound that gives how far the incremental generation is. >> >>but if you compare speeds. >> >>Say that each move costs 1 clock. that's 30 million moves a second at 30Mhz >>right? >> >>Brutus ran at 2002 WCC at something like 33Mhz. So that's 33 MLN a second. >> >>DIEP i generate way more than 33MLN a second at the 1.6Ghz K7 i had back then. >> >>At 2.127Ghz it is about 72MLN. this with slow RAM storage. It's probably >>relatively faster at a P4 generating moves because of the fast L1 cache there >>and everything runs within trace cache when doing a loop for a few millions of >>times. >> > >Can you do perft at 72 million NPS? (Actually traverse a tree?) If not then >you're quoting something different. You could use Chrilly's 7 cycle/node number >which should include everything to generate, make, and unmake moves. So at 33 >MHz that would be 4.7 MNPS. please do not compare perft with generating moves. perft is generating a NUMBER. not moves. do you understand? all you need is a number for perft. not moves.
This page took 0.01 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.