Author: Angrim
Date: 11:03:57 09/27/01
Go up one level in this thread
On September 27, 2001 at 09:44:05, Robert Hyatt wrote: >On September 27, 2001 at 01:01:40, Will Singleton wrote: > >>On September 26, 2001 at 22:28:06, Robert Hyatt wrote: >> >>>The critical question then is are you copying any large structs around? Are >>>you doing a make/unmake or a copy/make approach (copy/make drains the PC >>>memory bandwidth to zero). >> >>I do copy/make, but my struct isn't that large (a few words). Could you >>elaborate on the problem with copy/make? >> >>Will > >In a much earlier version of Crafty, I did copy/make also, the idea being that >there is then no unmake at all. Using bitboards, I have 12 for the different >pieces, plus three rotated, plus two (white/black occupied) plus one for >bishops/queens and one for rooks/queens. A total of 19 (at least). Times >8 bytes. The PC has almost _no_ memory bandwidth. It is somewhere around >100mbytes/second depending on your machine, maybe as much as 2x that. The >"copy" operation fries that bandwidth + cache badly. I became over 2x faster >by going to make/unmake... <sign> Looks like it might be time for me to write an unmake and test it again. My board is a single struct of about 90 bytes, so copy is a bit faster for me than for you, but that doesn't counter 2x.. Last time that I tried an unmake() it broke even, and the extra complexity wasn't worth it. But that was on a slower cpu. I do some incremental stuff in makemove, which would need undone in unmake() which is of course trivial to undo with copy, so I can't even be sure that unmake will be faster this time until I test. Angrim
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.