]> git.sesse.net Git - stockfish/blobdiff - src/benchmark.cpp
Introduce and use SearchLimits
[stockfish] / src / benchmark.cpp
index 33c1a1a9982c061ae5672eeaa4d3245322498696..9cf04532d59f61584ce23bf5caeff5e90f731036 100644 (file)
@@ -22,6 +22,7 @@
 //// Includes
 ////
 #include <fstream>
+#include <iostream>
 #include <vector>
 
 #include "search.h"
@@ -72,7 +73,7 @@ void benchmark(int argc, char* argv[]) {
 
   vector<string> positions;
   string ttSize, threads, valStr, posFile, valType;
-  int val, secsPerPos, maxDepth, maxNodes;
+  int val, maxTime, maxDepth, maxNodes;
 
   ttSize  = argc > 2 ? argv[2] : "128";
   threads = argc > 3 ? argv[3] : "1";
@@ -86,13 +87,13 @@ void benchmark(int argc, char* argv[]) {
   Options["Use Search Log"].set_value("true");
   Options["Search Log Filename"].set_value("bench.txt");
 
-  secsPerPos = maxDepth = maxNodes = 0;
+  maxTime = maxDepth = maxNodes = 0;
   val = atoi(valStr.c_str());
 
   if (valType == "depth" || valType == "perft")
       maxDepth = val;
   else if (valType == "time")
-      secsPerPos = val * 1000;
+      maxTime = val * 1000;
   else
       maxNodes = val;
 
@@ -102,7 +103,7 @@ void benchmark(int argc, char* argv[]) {
       if (!fenFile.is_open())
       {
           cerr << "Unable to open positions file " << posFile << endl;
-          Application::exit_with_failure();
+          exit(EXIT_FAILURE);
       }
       string pos;
       while (fenFile.good())
@@ -123,9 +124,8 @@ void benchmark(int argc, char* argv[]) {
 
   for (it = positions.begin(); it != positions.end(); ++it, ++cnt)
   {
-      Move moves[1] = { MOVE_NONE };
-      int dummy[2] = { 0, 0 };
-      Position pos(*it, 0);
+      Move moves[] = { MOVE_NONE };
+      Position pos(*it, false, 0);
       cerr << "\nBench position: " << cnt << '/' << positions.size() << endl << endl;
       if (valType == "perft")
       {
@@ -133,7 +133,7 @@ void benchmark(int argc, char* argv[]) {
           cerr << "\nPerft " << maxDepth << " result (nodes searched): " << perftCnt << endl << endl;
           totalNodes += perftCnt;
       } else {
-          if (!think(pos, false, false, dummy, dummy, 0, maxDepth, maxNodes, secsPerPos, moves))
+          if (!think(pos, SearchLimits(0, 0, 0, maxTime, maxDepth, maxNodes, false, false), moves))
               break;
           totalNodes += pos.nodes_searched();
       }