D Sceviour wrote:Kevin Hearn wrote,
It's not a useful metric between different engines.
It is strange for you to say that because your next statement contradicts this.
Kevin Hearn wrote,
It's normal these days for evaluation (and its subcalls) to be the largest time expenditure in an engine.
Thank you for your opinion. It would be better if it were backed up by a real profile test result.
Kevin Hearn wrote,
If i understand correctly that your attackboard() is used mostly for move generation then it sounds like either your move generation is taking too long or your evaluation is exceedingly light.
No. The moves are generated without a legality test or attack board use. Attack boards are used for legality tests and calculated after each make move. Attack boards are also use for futility tests, lazy evaluation, static evaluation, sorting, SEE tests, and a new idea called gain score pruning (that doesn’t work very well yet). It seems that every time I try to reduce the use of attack boards, updated ones seem to be needed everywhere.
But again, it is not the use of the attack boards that is taking the time. It is the time to calculate the attack boards that might be the problem. I cannot see why this is so difficult to understand.
Here is a fairly recent one from Crafty:
Each sample counts as 0.01 seconds.
% cumulative self self total
time seconds seconds calls s/call s/call name
8.91 20.57 20.57 137350661 0.00 0.00 Quiesce
8.14 39.36 18.79 197608464 0.00 0.00 GenerateCaptures
7.98 57.78 18.42 494 0.04 0.47 Search
7.44 74.93 17.16 551972714 0.00 0.00 MakeMove
--------------------------------------------------------------------------------
5.90 88.54 13.61 971982467 0.00 0.00 Attacks
5.65 101.58 13.04 279482293 0.00 0.00 Evaluate
5.48 114.23 12.65 324437326 0.00 0.00 Swap
4.97 125.70 11.47 224410340 0.00 0.00 EvaluateRooks
4.52 136.13 10.44 551972714 0.00 0.00 UnmakeMove
4.18 145.78 9.65 98180809 0.00 0.00 HashProbe
4.06 155.14 9.37 224410340 0.00 0.00 EvaluateBishops
4.04 164.46 9.32 355604008 0.00 0.00 AttacksTo
3.63 172.82 8.37 377016019 0.00 0.00 NextMove
3.20 180.20 7.38 15932322 0.00 0.00 EvaluatePawns
3.06 187.27 7.07 224410340 0.00 0.00 EvaluateKnights
2.50 193.03 5.76 102103945 0.00 0.00 EvaluatePassedPawns
1.90 197.42 4.39 346944856 0.00 0.00 EvaluateDevelopment
1.69 201.32 3.90 53958582 0.00 0.00 GenerateChecks
1.66 205.15 3.83 11547617 0.00 0.00 GenerateNoncaptures
1.57 208.77 3.62 224410340 0.00 0.00 EvaluateQueens
1.40 211.99 3.22 173472499 0.00 0.00 EvaluateMaterial
1.33 215.06 3.08 80327586 0.00 0.00 HashStore
1.19 217.81 2.75 224410340 0.00 0.00 EvaluateKings
1.16 220.49 2.68 63729288 0.00 0.00 EvaluateKingsFile
1.12 223.08 2.59 17326486 0.00 0.00 GenerateCheckEvasions
0.79 224.89 1.82 34273662 0.00 0.00 NextEvasion