]> git.sesse.net Git - stockfish/blobdiff - src/benchmark.cpp
Don't access std::cout from Position::print()
[stockfish] / src / benchmark.cpp
index 5800a37bb10484526c0aeb923d24c20bd2b0a0d8..47face7ff24e95c6f6be225aa2b68d71adffb958 100644 (file)
@@ -66,7 +66,7 @@ void benchmark(const Position& current, istream& is) {
   vector<string> fens;
 
   // Assign default values to missing arguments
-  string ttSize    = (is >> token) ? token : "128";
+  string ttSize    = (is >> token) ? token : "32";
   string threads   = (is >> token) ? token : "1";
   string limit     = (is >> token) ? token : "12";
   string fenFile   = (is >> token) ? token : "default";
@@ -89,7 +89,7 @@ void benchmark(const Position& current, istream& is) {
       fens.assign(Defaults, Defaults + 16);
 
   else if (fenFile == "current")
-      fens.push_back(current.to_fen());
+      fens.push_back(current.fen());
 
   else
   {
@@ -110,7 +110,8 @@ void benchmark(const Position& current, istream& is) {
   }
 
   int64_t nodes = 0;
-  Time time = Time::current_time();
+  Search::StateStackPtr st;
+  Time::point elapsed = Time::now();
 
   for (size_t i = 0; i < fens.size(); i++)
   {
@@ -120,22 +121,22 @@ void benchmark(const Position& current, istream& is) {
 
       if (limitType == "perft")
       {
-          int64_t cnt = Search::perft(pos, limits.depth * ONE_PLY);
+          size_t cnt = Search::perft(pos, limits.depth * ONE_PLY);
           cerr << "\nPerft " << limits.depth  << " leaf nodes: " << cnt << endl;
           nodes += cnt;
       }
       else
       {
-          Threads.start_searching(pos, limits, vector<Move>());
+          Threads.start_searching(pos, limits, vector<Move>(), st);
           Threads.wait_for_search_finished();
-          nodes += Search::RootPosition.nodes_searched();
+          nodes += Search::RootPos.nodes_searched();
       }
   }
 
-  int e = time.elapsed() + 1; // Assure positive to avoid a 'divide by zero'
+  elapsed = Time::now() - elapsed + 1; // Assure positive to avoid a 'divide by zero'
 
   cerr << "\n==========================="
-       << "\nTotal time (ms) : " << e
+       << "\nTotal time (ms) : " << elapsed
        << "\nNodes searched  : " << nodes
-       << "\nNodes/second    : " << 1000 * nodes / e << endl;
+       << "\nNodes/second    : " << 1000 * nodes / elapsed << endl;
 }