Use v3 transactions with caching for validatelargetx benchmark
This commit is contained in:
@@ -242,6 +242,10 @@ double benchmark_large_tx(size_t nInputs)
|
|||||||
auto orig_tx = CTransaction(m_orig_tx);
|
auto orig_tx = CTransaction(m_orig_tx);
|
||||||
|
|
||||||
CMutableTransaction spending_tx;
|
CMutableTransaction spending_tx;
|
||||||
|
spending_tx.fOverwintered = true;
|
||||||
|
spending_tx.nVersion = 3;
|
||||||
|
spending_tx.nVersionGroupId = OVERWINTER_VERSION_GROUP_ID;
|
||||||
|
|
||||||
auto input_hash = orig_tx.GetHash();
|
auto input_hash = orig_tx.GetHash();
|
||||||
// Add nInputs inputs
|
// Add nInputs inputs
|
||||||
for (size_t i = 0; i < nInputs; i++) {
|
for (size_t i = 0; i < nInputs; i++) {
|
||||||
@@ -260,12 +264,13 @@ double benchmark_large_tx(size_t nInputs)
|
|||||||
// Benchmark signature verification costs:
|
// Benchmark signature verification costs:
|
||||||
struct timeval tv_start;
|
struct timeval tv_start;
|
||||||
timer_start(tv_start);
|
timer_start(tv_start);
|
||||||
|
PrecomputedTransactionData txdata(final_spending_tx);
|
||||||
for (size_t i = 0; i < nInputs; i++) {
|
for (size_t i = 0; i < nInputs; i++) {
|
||||||
ScriptError serror = SCRIPT_ERR_OK;
|
ScriptError serror = SCRIPT_ERR_OK;
|
||||||
assert(VerifyScript(final_spending_tx.vin[i].scriptSig,
|
assert(VerifyScript(final_spending_tx.vin[i].scriptSig,
|
||||||
prevPubKey,
|
prevPubKey,
|
||||||
STANDARD_SCRIPT_VERIFY_FLAGS,
|
STANDARD_SCRIPT_VERIFY_FLAGS,
|
||||||
TransactionSignatureChecker(&final_spending_tx, i, 1000000),
|
TransactionSignatureChecker(&final_spending_tx, i, 1000000, txdata),
|
||||||
consensusBranchId,
|
consensusBranchId,
|
||||||
&serror));
|
&serror));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user