Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Playing the NPS game

Author: Robert Hyatt

Date: 14:45:45 09/26/01

Go up one level in this thread


On September 26, 2001 at 17:11:29, Gian-Carlo Pascutto wrote:

>On September 26, 2001 at 16:18:21, Bruce Moreland wrote:
>
>>It sounds like you need to spend some quality time with your profiler.  It's
>>possible that you are doing one dumb thing, and you can just fix that and go
>>like blazes.  It's more likely, with a pretty new program, that everything is
>>slow, but at least you can figure out what the slowest thing is and fix it.
>>
>>bruce
>
>Some profiling data:
>
>mid_eval:          24%
>is_attacked:       12%  (is called in eval for kingsafety)

That seems like a waste, but maybe not.  IE There are other ways to evaluate
king safety besides testing if it is attacked using that much CPU time...

Here is what mine looks like for a test I just ran for comparison:
  %   cumulative   self              self     total
 time   seconds   seconds    calls  ms/call  ms/call  name
 25.12     73.94    73.94 38414441     0.00     0.00  Evaluate
  7.33     95.53    21.59 45334984     0.00     0.00  MakeMove
  6.84    115.66    20.13     1999    10.07   123.81  Search
  5.28    131.20    15.54 45334984     0.00     0.00  UnMakeMove
  5.23    146.59    15.39 20354698     0.00     0.00  GenerateCaptures
  3.88    158.02    11.43                             AttacksRookFunc
  3.77    169.13    11.11 35114295     0.00     0.00  NextMove
  3.67    179.92    10.79 16911119     0.00     0.00  EvaluatePawns
  3.61    190.55    10.63 28544454     0.00     0.01  Quiesce
  3.56    201.04    10.49                             AttacksBishopFunc
  3.56    211.51    10.47 15021098     0.00     0.00  HashProbe
  3.38    221.45     9.94 73900366     0.00     0.00  Attacked
  3.26    231.06     9.61 27878915     0.00     0.00  Swap
  2.75    239.16     8.10                             FirstOne
  2.10    245.34     6.18 22652731     0.00     0.00  EvaluateKingSafety
  1.60    250.05     4.71 31178939     0.00     0.00  AttacksTo
  1.57    254.67     4.62 16984591     0.00     0.00  EvaluatePassedPawns




>movegen:           11%
>SEE:               10%
>search:             6%
>

Where is the rest of the time?

And are you _sure_ you are optimizing things correctly?  I have seen _many_
cases where people have compiled and forgot to enable optimizing thinking it
was the default.  I did this once when I first compiled Crafty on a Solaris
box.  Default = zero optimization.  And when I found this, I ran about 5x
faster immediately.  :)




>Without eval:
>
>SEE:               14%
>movegen:           14%
>search:            13% (most expensive: picking the highest ordered move)
>move ordering:      6%
>
>Without eval+SEE:
>
>movegen:           27%
>search:            11%
>quiesc hash probes: 9%
>move ordering:      8%
>
>--
>GCP



This page took 0.01 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.