Author: Uri Blass
Date: 10:00:13 01/06/04
Go up one level in this thread
On January 06, 2004 at 11:33:09, Richard Pijl wrote: > >>>Again, I'm not sure how that would help. I only use the first few entries in >>>normal positions. Just like my move list can theoretically hold a thousand >>>moves for one side even though that can never be reached. >> >>There is a difference if you have global varaibles or local varaibles. >> >>int swap[32] is a local varaible and I thought that the computer waste time in >>allocating memory to the local varaibles every time that you call it but maybe >>the computer does not work in that way thanks to some compiler optimiazation. >> >> > >Local variables are referenced from the stack. No 'malloc' type of memory >allocation is done for this. Reducing the size of local variables by a few bytes >gives no performance improvement. > >>> >>>> >>>>It seems to me that the price of allocating memory to 16 integer is higher than >>>>the price of one if (nc==15) inside the loop. >>> >>>16 integers is 1/2 of a cache line. 32 is exactly one line, except that there >>>is no alignment forced to make the starting address exactly divisible by 128. >>> > >Even if it is in two cachelines, both lines will normally be in the cache >anyway. That is, if the second part of the array is used at all. >>> >>>> >>>> >>>>Another point that I see is that it is using the value of the pieces and does >>>>not use piece square table. >>> >>>Correct. That will also simply confuse results. This is intended to be a >>>simple material-only estimate of "is the capture good or bad?" >>> >>> >>> >>>> >>>>I wonder if there is a reason not to use piece square table to evaluate capture >>>>of pawn in the 7th as better than capture of pawn in the second rank. >>>> >>>>Uri >>> >>>That would probably wreck the basic SEE concept. And pawns on the 7th don't >>>have much of a piece/square number for Crafty, so it really won't make any >>>difference for me. >> >>The point that I thought about is better order of captures. >>Even small difference in piece square table can generate better order of >>captures. > >Then you should apply that knowledge after of before doing the SEE. You already >know which square you're capturing on. No reason to burden the SEE with it. >Richard. The point is that I assume that you use SEE for better order of captures and you want that SEE will tell you to consider first cature of a pawn in the 7th and not capture of a pawn in the second rank. SEE gives you a fast evaluation of captures without search and you need to choose the highest number to decide which capture to consider first. If the number for Rxf7 and for Rxa2 are equal(winning a pawn) you may consider first the capture of the pawn that is not dangerous. Uri
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.