Author: Sune Fischer
Date: 14:19:53 02/15/04
Go up one level in this thread
On February 15, 2004 at 16:26:38, Russell Reagan wrote: >On February 15, 2004 at 16:01:27, Sune Fischer wrote: > >>>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? > >Note that in Crafty I did perf, not perft. These numbers should be just >generating moves only, not make/unmake. That's my understanding anyway, unless >Bob or Deiter wants to correct me on that. I will assume this is a dumb and dirty generation of moves in random order (at least for Yace, Crafty has inherent sorting), but do you know on what position? >Anyway, here is what I get from the >'speed' command in Yace. > >white ( 1): speed > eval: 785525.4 calls/s, 1.273 us/call > ataks: 1647361.6 calls/s, 0.607 us/call > incheck: 25344683.8 calls/s, 0.039 us/call >inck_lm0: 12664189.2 calls/s, 0.079 us/call >inck_lm1: 13255042.2 calls/s, 0.075 us/call >inck_hm0: 25658372.7 calls/s, 0.039 us/call >inck_hm1: 25354787.3 calls/s, 0.039 us/call >inck_hm0: 25683954.3 calls/s, 0.039 us/call >inck_hm1: 25343322.7 calls/s, 0.039 us/call >movelist: 2281586.2 calls/s, 0.438 us/call, 45631724.7 mv/s, 0.022 us/mv 20 > Mum(nc): 828387.1 calls/s, 1.207 us/call, 16567742.1 mv/s, 0.060 us/mv 20 > caplist: 3157859.7 calls/s, 0.317 us/call > Mum(c): 219756518.7 calls/s, 0.005 us/call > >I'm not 100% sure what all of this means, but I can make some guesses that make >sense. I got my number from the 'movelist' line (45631724.7 mv/s). I assume >'Mum' means 'Make, UnMake', so I also assume 'movelist' doesn't do any >make/unmake. I think you are right, so it is a tiny loop processing the same branch conditionals over and over and benefitting a lot on cache hits. Still I guess all programs get this advantage in that test. >The Mum numbers are approximately what you get from running perft >in Yace. AFAIK, the public version of Yace doesn't use hash tables for perft. You can speed perft up by other means than hashing, ie. like Movei does by not make/unmaking at the last ply. You just need to know if the move is legal or not and this is often faster to check for than a make/unmake. >My >best guess for what the (nc) and (c) means after Mum is 'no captures' and >'captures', I guess. Hmm. I wonder why there are 200 times as many calls to Mum(c) then, seems non-captures should be the far majority for most positions. -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.