X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fbenchmark.cpp;h=1d97c95b7109a720a8b1302ad95f1a43e387c5d5;hp=de8b48bb4c039f480f45f5e6339b19192b8ab70b;hb=a43f633c19c43b43ec7a5e460eb91b7abcf59e3a;hpb=6044f25d7104c25e0218831027eade75e092ed0c diff --git a/src/benchmark.cpp b/src/benchmark.cpp index de8b48bb..1d97c95b 100644 --- a/src/benchmark.cpp +++ b/src/benchmark.cpp @@ -24,16 +24,17 @@ #include #include "misc.h" -#include "notation.h" #include "position.h" #include "search.h" #include "thread.h" #include "tt.h" -#include "ucioption.h" +#include "uci.h" using namespace std; -static const char* Defaults[] = { +namespace { + +const char* Defaults[] = { "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1", "r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq - 0 10", "8/2p5/3p4/KP5r/1R3p1k/8/4P1P1/8 w - - 0 11", @@ -66,6 +67,7 @@ static const char* Defaults[] = { "8/3p3B/5p2/5P2/p7/PP5b/k7/6K1 w - - 0 1" }; +} // namespace /// benchmark() runs a simple benchmark by letting Stockfish analyze a set /// of positions for a given limit each. There are five parameters: the @@ -139,15 +141,8 @@ void benchmark(const Position& current, istream& is) { cerr << "\nPosition: " << i + 1 << '/' << fens.size() << endl; if (limitType == "perft") - for (MoveList it(pos); *it; ++it) - { - StateInfo si; - pos.do_move(*it, si); - uint64_t cnt = limits.depth > 1 ? Search::perft(pos, (limits.depth - 1) * ONE_PLY) : 1; - pos.undo_move(*it); - cerr << move_to_uci(*it, pos.is_chess960()) << ": " << cnt << endl; - nodes += cnt; - } + nodes += Search::perft(pos, limits.depth * ONE_PLY); + else { Threads.start_thinking(pos, limits, st);