From 822b84b61651efff781d7071985cac4901e95593 Mon Sep 17 00:00:00 2001 From: Simon Date: Sun, 7 Aug 2016 23:54:50 -0700 Subject: [PATCH 1/2] 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 c7460fb3..9a16f0be 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(); From 75c2f2688744c9b63fee1a87dfc01ab49ac289b6 Mon Sep 17 00:00:00 2001 From: Simon Date: Mon, 8 Aug 2016 00:51:27 -0700 Subject: [PATCH 2/2] Update variable. --- src/zcbenchmarks.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/zcbenchmarks.cpp b/src/zcbenchmarks.cpp index 9a16f0be..94f27ae6 100644 --- a/src/zcbenchmarks.cpp +++ b/src/zcbenchmarks.cpp @@ -200,7 +200,7 @@ double benchmark_large_tx() timer_start(); for (size_t i = 0; i < NUM_INPUTS; i++) { ScriptError serror = SCRIPT_ERR_OK; - assert(VerifyScript(spending_tx.vin[i].scriptSig, + assert(VerifyScript(final_spending_tx.vin[i].scriptSig, prevPubKey, STANDARD_SCRIPT_VERIFY_FLAGS, TransactionSignatureChecker(&final_spending_tx, i),