Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: TSCP benchmark test

Author: Dann Corbit

Date: 18:02:58 07/19/99

Go up one level in this thread


On July 19, 1999 at 20:22:40, Will Singleton wrote:

>
>In the thread "improving speed," there was some discussion about the nps of
>TSCP, what it is and should be, compiler options etc.  The first poster said he
>was getting 15k nps for TSCP, and Bob and Vincent said it should be 10x that
>speed for his machine.  Subsequent posters got 30k nps on slower machines.
>
>I'd be interested to do a more precise test using TSCP, as a means to benchmark
>various platforms, as well as to find differences in compiler performance on
>identical platforms.  This would be easy to do, since TSCP is easily modifiable,
>easy to run, and easy to get.
>
>For those of you willing to participate, here's the method I followed to produce
>the output shown below:
>
>Download TSCP v1.3.
>Modify the procedure Think() in search.c to search 6 ply.
>Also modify the printf call to show nps.
>  (I calculated nps by using nodes*60/ticks, where ticks==60th sec)
>Compile using optimize on.
>Run TSCP, and type ON.
>
>tscp> on
>ply      nodes    n/s  score  pv
>  1         21   1260     48  d2d4
>  2         93   5580      0  d2d4 d7d5
>  3        996  29880     35  d2d4 d7d5 b1c3
>  4       5952  39680      5  e2e4 d7d5 f1b5 c8d7 b5d3
>  5      32924  43898     35  e2e4 b8c6 b1c3 e7e5 g1f3
>  6     203273  40519     13  e2e4 b8c6 d2d4 d7d5 e4d5 d8d5
>tscp>
>
>Platform -- Mac G3/300 (powerbook)
>Compiler -- CodeWarrior 3.1, full opt
>
>I will gather the results (assuming I get any volunteers) and post them here.
>
>Thanks.
>
>Will
>
>------
>
>results from previous thread (not a controlled experiment, obviously)
>K6-3/400  15k nps
>K6-2/300  30k nps
>P/233     30k nps
Here is a portable alteration.  No guarantees on resolution, but *typically*
better than you will get with difftime()...

/* think() calls search() iteratively and prints the results
   after every iteration. */
#include <time.h> /* add to top of file */
void
think (void)
{
  int i, j, x;

  /* changes */
  clock_t start, end;
  double cputime;
  /* end changes */

  ply = 0;
  nodes = 0;
  memset (history, 0, sizeof (history));
  printf ("ply      nodes  score  pv\n");

  /* changes */
  start = clock ();
  /* end changes */

  for (i = 1; i <= 6; i++)
    {
      follow_pv = TRUE;
      x = search (-10000, 10000, i);

      printf ("%3d  %9d  %5d ", i, nodes, x);
      for (j = 0; j < pv_length[0]; j++)
        printf (" %c%d%c%d",
                FILE (pv[0][j].b.from) + 'a',
                8 - RANK (pv[0][j].b.from),
                FILE (pv[0][j].b.to) + 'a',
                8 - RANK (pv[0][j].b.to));
      printf ("\n");
    }
  /* changes */
  end = clock ();
  cputime = (end - start) / (double) CLOCKS_PER_SEC;

  printf ("time: %f sec., nodes=%d, NPS = %f\n", cputime, nodes, nodes/cputime);
  /* end changes */
}

Results for a PII 300 MHz machine:
A normal optimized compile gives:

Tom Kerrigan's Simple Chess Program (TSCP)
version 1.3, 11/11/98

'help' displays a list of commands.

tscp> on
ply      nodes  score  pv
  1         21     48  d2d4
  2         93      0  d2d4 d7d5
  3        996     35  d2d4 d7d5 b1c3
  4       5952      5  e2e4 d7d5 f1b5 c8d7 b5d3
  5      32924     35  e2e4 b8c6 b1c3 e7e5 g1f3
  6     203273     13  e2e4 b8c6 d2d4 d7d5 e4d5 d8d5
time: 5.458000 sec., nodes=203273, NPS = 37243.129351
tscp>

Pentium Pro build with inlining:

Tom Kerrigan's Simple Chess Program (TSCP)
version 1.3, 11/11/98

'help' displays a list of commands.

tscp> on
ply      nodes  score  pv
  1         21     48  d2d4
  2         93      0  d2d4 d7d5
  3        996     35  d2d4 d7d5 b1c3
  4       5952      5  e2e4 d7d5 f1b5 c8d7 b5d3
  5      32924     35  e2e4 b8c6 b1c3 e7e5 g1f3
  6     203273     13  e2e4 b8c6 d2d4 d7d5 e4d5 d8d5
time: 5.318000 sec., nodes=203273, NPS = 38223.580293
tscp>



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.