Author: Volker Böhm
Date: 08:44:32 08/24/04
Go up one level in this thread
On August 24, 2004 at 08:57:33, Alessandro Scotti wrote: >On August 24, 2004 at 06:17:50, martin fierz wrote: > >>as a related question to mridul's post: i don't have a special check evasion >>generator. i just have a single normal move generator and if it's a check, i >>will have to execute all the normal moves, and undo them again after seeing that >>it's still a check. >> >>does anyone have an estimate on how much a specialized check-evasion move >>generator would speed up a program? >>is it really worth it? > >When I added the check evasion code I got a noticeable performance speedup, but >later I discovered that the compiler wasn't inlining all the proper functions. >Having fixed that and a couple of other bugs I now get: > >Running perft(6) on the start position: 4882 KNps (without) -> 4913 KNps (with) >And from a middlegame position: 4535 KNps -> 4605 KNps > >So the performance improvement is extremely small. Hi, don´t trust perft here for speed comparision. The amount of speed gained is extremely dependant on the way you extend and the way you order moves (how do you order checking moves?). Another expensive factor is the cost of the set-move function. I found out, that more than 1/3 of positions in spike in midgames are positions with king in check. The reason is simple: in a pre-frontier node I generate all moves. For each move that is not a checking-move I call quiescense. For every move that is a checking-move I extend by 1 ply. Thus every time there is a checking move in a pre-frontier node (and there is no early cutoff) I will get a position with king in check. When I first implemented the (not 100% correct) Check evade function Spike haven´t got an eval (just material) but an incremental attack table. Thus the set-move is expensive and the check evade code is cheap because of attack-tables. I won about 30% of speed that would give about 10%-15% for current Spike with eval. Greetings Volker
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.