Author: Richard Pijl
Date: 08:33:09 01/06/04
Go up one level in this thread
>>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.
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.