aboutsummaryrefslogtreecommitdiff
path: root/src/bench
diff options
context:
space:
mode:
authorWladimir J. van der Laan <laanwj@protonmail.com>2019-10-28 14:14:07 +0100
committerWladimir J. van der Laan <laanwj@protonmail.com>2019-10-28 14:14:11 +0100
commitf8cc2b967b9517af9f858da9170b7bea4bd7c7a3 (patch)
treee2f4f5031b21282b9e24b16aca71cd1b4fdcb9fc /src/bench
parenta25945318fdc2890a141a28843c2c5af251c9605 (diff)
parent3bb0a4674f74d22043c7911ea76ab8a4d93fed62 (diff)
downloadbitcoin-f8cc2b967b9517af9f858da9170b7bea4bd7c7a3.tar.xz
Merge #17267: bench: Fix negative values and zero for -evals flag
3bb0a4674f74d22043c7911ea76ab8a4d93fed62 bench: Fix negative values and zero for -evals flag (nijynot) Pull request description: This PR makes `bench_bitcoin -evals=0` evaluate at once and throws when `-evals` is a negative integer. --- Currently when you run `bench_bitcoin -evals=0`, it'll get stuck at ``` # Benchmark, evals, iterations, total, min, max, median ``` . This is not intuitively expected and should instead evaluate instantly as it's set to zero. Negative integers for `-evals` does not make sense either and should throw if set. ACKs for top commit: laanwj: ACK 3bb0a4674f74d22043c7911ea76ab8a4d93fed62 Tree-SHA512: 03cd4c7c55134c7ffd8cdb6ee993551ce41061a73e13c3c047247af9df1fd7ed07d798272b643ec864099036922aaadbdcd2b798d710406f48df60b9d5448c26
Diffstat (limited to 'src/bench')
-rw-r--r--src/bench/bench_bitcoin.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/bench/bench_bitcoin.cpp b/src/bench/bench_bitcoin.cpp
index d0d7c03ee1..655a5a3459 100644
--- a/src/bench/bench_bitcoin.cpp
+++ b/src/bench/bench_bitcoin.cpp
@@ -51,6 +51,13 @@ int main(int argc, char** argv)
std::string scaling_str = gArgs.GetArg("-scaling", DEFAULT_BENCH_SCALING);
bool is_list_only = gArgs.GetBoolArg("-list", false);
+ if (evaluations == 0) {
+ return EXIT_SUCCESS;
+ } else if (evaluations < 0) {
+ tfm::format(std::cerr, "Error parsing evaluations argument: %d\n", evaluations);
+ return EXIT_FAILURE;
+ }
+
double scaling_factor;
if (!ParseDouble(scaling_str, &scaling_factor)) {
tfm::format(std::cerr, "Error parsing scaling factor as double: %s\n", scaling_str.c_str());