X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fbenchmark.cpp;h=1d97c95b7109a720a8b1302ad95f1a43e387c5d5;hp=76a85a8ccc795a78d70dccd1194b026d49307ef2;hb=0935dca9a6729f8036b3bde3554708743e47ac43;hpb=535f70088e6fbf19f4775490edab050006734814 diff --git a/src/benchmark.cpp b/src/benchmark.cpp index 76a85a8c..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 @@ -82,7 +84,7 @@ void benchmark(const Position& current, istream& is) { vector fens; // Assign default values to missing arguments - string ttSize = (is >> token) ? token : "32"; + string ttSize = (is >> token) ? token : "16"; string threads = (is >> token) ? token : "1"; string limit = (is >> token) ? token : "13"; string fenFile = (is >> token) ? token : "default"; @@ -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);