X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fbenchmark.cpp;h=1d97c95b7109a720a8b1302ad95f1a43e387c5d5;hp=a92a634c615a18c707c4dd6ba53be097a7448d0f;hb=8a7876d48d4360d14d918c1ff444b5d6eb0382de;hpb=2efeded6e37283e297f15efde91c1ec3a3e9e920 diff --git a/src/benchmark.cpp b/src/benchmark.cpp index a92a634c..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); - cout << 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);