Ok. I'm creating a new ticket which holds changes from two of my previous tickets (nr 144 and 145). They should be closed.
There is a final relase upgrade, cache, board.c optimization and some small changes which I've done during code overlooking. Now I'll systematically go through all other engine files and optimize them and look for errors.
As for now I've found 2 of them:
1). One is in extended_chainlinks function, which was counting the string as neighbor itself (we didn't mark ourselves when both_colors were true). This caused one more regression test passed.
2). Second was in build_worms, where an origin was set for every vertex. Now it is set only for vertexes with stone on them. This change gives us two more regressions passed.
Passed regressions are (I don't remember which change gives which regression test passed): strategy2-55, arend-9, ninestones-280.
All other changes don't change a logic of the GnuGo? and gives us only a very little performance upgrade. Except one more: in komaster_trymove in scheme 2b and 4 komaster is reset only, when the owner of komaster plays at kom_pos - not when opponent plays them (I don't think that it changes anything, but it should be like that). I've done all regressions for these changes and it gives us 3 more passes as mentioned above. Other works the same as old version. I've also played about 100 games between old and new version and the result is near 50% won games.
There are no changes in performance for non-final release version, because I've added some more asserts and not optimized too much. When final release version is turned on it gives about 1,2% better performance.
Please accept these changes, because soon there will be much more :-) I've finished project in my job and now again will have some time for GnuGo?. My Master's Degree is late already... :)