Author: Jon Dart
Date: 19:28:26 07/19/99
Go up one level in this thread
I don't think the compiler options are at fault.
I built it with Visual C++, using the standard "Maximize
Speed" optimizations and then ran the Visual C++ profiler.
Like many chess programs, it is spending most of its time
in the evaluation function, but it appears that the pawn
evaluation code is a particular bottleneck. You could make
it faster by using a pawn structure hashtable.
Also note that it's spending 24% of its time in the
in_check function (and the functions it calls). Speedups
here would help, too. You might get some speedup just
by caching the in_check status, since it looks like
you're calling it at least twice per node.
Following are the profile results:
        Func          Func+Child           Hit
        Time   %         Time      %      Count  Function
---------------------------------------------------------
    2448.838  22.9     4545.522  42.5   170169 _eval (eval.obj)
    1865.044  17.4     1865.044  17.4   467679 _attack (board.obj)
     969.700   9.1      969.700   9.1  1288829 _eval_dark_pawn (eval.obj)
     876.467   8.2      876.467   8.2  1286777 _eval_light_pawn (eval.obj)
     829.162   7.8      829.178   7.8  1173451 _gen_push (board.obj)
     780.202   7.3     1536.612  14.4    33106 _gen (board.obj)
     750.416   7.0     2615.278  24.5   467633 _in_check (board.obj)
     500.408   4.7      573.162   5.4    85750 _gen_caps (board.obj)
     451.960   4.2     8023.462  75.0   178056 _quiesce (search.obj)
     366.498   3.4    10695.191 100.0   117733 _search (search.obj)
     282.461   2.6     1748.383  16.3   264338 _makemove (board.obj)
     180.133   1.7      180.133   1.7   264337 _sort (search.obj)
     143.457   1.3      143.457   1.3   254698 _takeback (board.obj)
     126.716   1.2      126.716   1.2   170145 _eval_dark_king (eval.obj)
     123.800   1.2      123.800   1.2   170132 _eval_light_king (eval.obj)
       0.418   0.0    10695.609 100.0        1 _think (search.obj)
       0.220   0.0    10696.029 100.0        1 _main (main.obj)
       0.094   0.0        0.094   0.0        1 _init (board.obj)
       0.017   0.0        0.017   0.0       28 _gen_promote (board.obj)
       0.017   0.0        0.017   0.0       22 _sort_pv (search.obj)
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.