From 89fb241c54fc85befacfa3703d8e21bf3b8a76eb Mon Sep 17 00:00:00 2001 From: Pieter Wuille Date: Tue, 17 Sep 2019 19:34:51 -0700 Subject: Benchmark script verification with 100 nested IFs --- src/bench/verify_script.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'src/bench') diff --git a/src/bench/verify_script.cpp b/src/bench/verify_script.cpp index 1c025e29d3..5894f22b5b 100644 --- a/src/bench/verify_script.cpp +++ b/src/bench/verify_script.cpp @@ -71,4 +71,27 @@ static void VerifyScriptBench(benchmark::State& state) } } +static void VerifyNestedIfScript(benchmark::State& state) { + std::vector> stack; + CScript script; + for (int i = 0; i < 100; ++i) { + script << OP_1 << OP_IF; + } + for (int i = 0; i < 1000; ++i) { + script << OP_1; + } + for (int i = 0; i < 100; ++i) { + script << OP_ENDIF; + } + while (state.KeepRunning()) { + auto stack_copy = stack; + ScriptError error; + bool ret = EvalScript(stack_copy, script, 0, BaseSignatureChecker(), SigVersion::BASE, &error); + assert(ret); + } +} + + BENCHMARK(VerifyScriptBench, 6300); + +BENCHMARK(VerifyNestedIfScript, 100); -- cgit v1.2.3