From 822b84b61651efff781d7071985cac4901e95593 Mon Sep 17 00:00:00 2001 From: Simon Date: Sun, 7 Aug 2016 23:54:50 -0700 Subject: [PATCH] Fixes #1193 so that during verification benchmarking it does not unncessarily create thousands of CTransaction objects. --- src/zcbenchmarks.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/zcbenchmarks.cpp b/src/zcbenchmarks.cpp index c7460fb35..9a16f0be6 100644 --- a/src/zcbenchmarks.cpp +++ b/src/zcbenchmarks.cpp @@ -193,6 +193,9 @@ double benchmark_large_tx() assert(ss.size() > MAX_BLOCK_SIZE - error); } + // Spending tx has all its inputs signed and does not need to be mutated anymore + CTransaction final_spending_tx(spending_tx); + // Benchmark signature verification costs: timer_start(); for (size_t i = 0; i < NUM_INPUTS; i++) { @@ -200,7 +203,7 @@ double benchmark_large_tx() assert(VerifyScript(spending_tx.vin[i].scriptSig, prevPubKey, STANDARD_SCRIPT_VERIFY_FLAGS, - MutableTransactionSignatureChecker(&spending_tx, i), + TransactionSignatureChecker(&final_spending_tx, i), &serror)); } return timer_stop();