From 62ab7e46124b12fdbb310a9c8a8072ad05fc51b8 Mon Sep 17 00:00:00 2001 From: Marco Costalba Date: Sat, 22 Nov 2008 11:56:14 +0100 Subject: [PATCH] Introduce node limited benchmarking Signed-off-by: Marco Costalba --- src/benchmark.cpp | 23 ++++++++++++----------- src/main.cpp | 6 +++--- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/src/benchmark.cpp b/src/benchmark.cpp index 4c2ba747..54455d88 100644 --- a/src/benchmark.cpp +++ b/src/benchmark.cpp @@ -71,8 +71,8 @@ void benchmark(const std::string& commandLine) { std::istringstream csVal(commandLine); std::istringstream csStr(commandLine); - std::string ttSize, threads, fileName, timeOrDepth; - int val, secsPerPos, maxDepth = 0; + std::string ttSize, threads, fileName, limitType; + int val, secsPerPos, maxDepth, maxNodes; csStr >> ttSize; csVal >> val; @@ -95,17 +95,18 @@ void benchmark(const std::string& commandLine) { set_option_value("Use Search Log", "true"); set_option_value("Search Log Filename", "bench.txt"); - csVal >> secsPerPos; + csVal >> val; csVal >> fileName; - csVal >> timeOrDepth; + csVal >> limitType; + + secsPerPos = maxDepth = maxNodes = 0; - if (timeOrDepth == "time") - secsPerPos *= 1000; + if (limitType == "time") + secsPerPos = val * 1000; + else if (limitType == "depth") + maxDepth = val; else - { - maxDepth = secsPerPos; - secsPerPos = 0; - } + maxNodes = val; std::vector positions; @@ -139,7 +140,7 @@ void benchmark(const std::string& commandLine) { int dummy[2] = {0, 0}; Position pos(*it); std::cout << "\nProcessing position " << cnt << '/' << positions.size() << std::endl << std::endl; - think(pos, true, false, 0, dummy, dummy, 0, maxDepth, 0, secsPerPos, moves); + think(pos, true, false, 0, dummy, dummy, 0, maxDepth, maxNodes, secsPerPos, moves); } std::cout << "\n\nBenchmarking finished. Processing time (ms) " << get_system_time() - startTime << std::endl << "Press any key to exit\n"; diff --git a/src/main.cpp b/src/main.cpp index 89ca9e8e..ad702462 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -75,14 +75,14 @@ int main(int argc, char *argv[]) { { std::cout << "Usage: glaurung bench " << "[time = 60s] [fen positions file = default] " - << "[time or depth limited = time]" + << "[time, depth or node limited = time]" << std::endl; exit(0); } string time = argc > 4 ? argv[4] : "60"; string fen = argc > 5 ? argv[5] : "default"; - string dt = argc > 6 ? argv[6] : "time"; - benchmark(string(argv[2]) + " " + string(argv[3]) + " " + time + " " + fen + " " + dt); + string lim = argc > 6 ? argv[6] : "time"; + benchmark(string(argv[2]) + " " + string(argv[3]) + " " + time + " " + fen + " " + lim); return 0; } -- 2.39.2