MCPcopy Create free account
hub / github.com/bitcoin/bitcoin / VerifyNestedIfScript

Function VerifyNestedIfScript

src/bench/verify_script.cpp:112–132  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

110static void VerifyScriptP2TR_ScriptPath(benchmark::Bench& bench) { VerifyScriptBench(bench, ScriptType::P2TR_ScriptPath); }
111
112static void VerifyNestedIfScript(benchmark::Bench& bench)
113{
114 std::vector<std::vector<unsigned char>> stack;
115 CScript script;
116 for (int i = 0; i < 100; ++i) {
117 script << OP_1 << OP_IF;
118 }
119 for (int i = 0; i < 1000; ++i) {
120 script << OP_1;
121 }
122 for (int i = 0; i < 100; ++i) {
123 script << OP_ENDIF;
124 }
125 bench.unit("script")
126 .setup([&] { stack.clear(); })
127 .run([&] {
128 ScriptError error;
129 const bool ret{EvalScript(stack, script, /*flags=*/0, BaseSignatureChecker(), SigVersion::BASE, &error)};
130 assert(ret && error == SCRIPT_ERR_OK);
131 });
132}
133
134BENCHMARK(VerifyScriptP2WPKH);
135BENCHMARK(VerifyScriptP2TR_KeyPath);

Callers

nothing calls this directly

Calls 5

EvalScriptFunction · 0.85
runMethod · 0.45
setupMethod · 0.45
clearMethod · 0.45

Tested by

no test coverage detected