From a346b34622036144090607b81b05bc16aea0e56e Mon Sep 17 00:00:00 2001 From: green Date: Mon, 16 Sep 2024 17:51:34 +0200 Subject: [PATCH] Use single heavy input in the `transaction_throughput.rs` benchmarks --- benches/benches/transaction_throughput.rs | 44 ++++++++++++----------- tests/test-helpers/src/builder.rs | 2 ++ 2 files changed, 25 insertions(+), 21 deletions(-) diff --git a/benches/benches/transaction_throughput.rs b/benches/benches/transaction_throughput.rs index ed261336c1..55a2f11990 100644 --- a/benches/benches/transaction_throughput.rs +++ b/benches/benches/transaction_throughput.rs @@ -170,7 +170,9 @@ where fn signed_transfers(c: &mut Criterion) { let generator = |rng: &mut StdRng| { - TransactionBuilder::script(vec![], vec![]) + let predicate = op::ret(RegId::ONE).to_bytes().to_vec(); + let owner = Input::predicate_owner(&predicate); + let mut tx = TransactionBuilder::script(vec![], vec![]) .script_gas_limit(10000) .add_unsigned_coin_input( SecretKey::random(rng), @@ -179,16 +181,22 @@ fn signed_transfers(c: &mut Criterion) { Default::default(), Default::default(), ) - .add_unsigned_coin_input( - SecretKey::random(rng), + .add_input(Input::coin_predicate( rng.gen(), + owner, 1000, Default::default(), Default::default(), - ) + Default::default(), + predicate.clone(), + vec![], + )) .add_output(Output::coin(rng.gen(), 50, AssetId::default())) .add_output(Output::change(rng.gen(), 0, AssetId::default())) - .finalize() + .finalize(); + tx.estimate_predicates(&checked_parameters(), MemoryInstance::new()) + .expect("Predicate check failed"); + tx }; bench_txs("signed transfers", c, generator); } @@ -209,16 +217,6 @@ fn predicate_transfers(c: &mut Criterion) { predicate.clone(), vec![], )) - .add_input(Input::coin_predicate( - rng.gen(), - owner, - 1000, - Default::default(), - Default::default(), - Default::default(), - predicate, - vec![], - )) .add_output(Output::coin(rng.gen(), 50, AssetId::default())) .add_output(Output::change(rng.gen(), 0, AssetId::default())) .finalize(); @@ -262,6 +260,8 @@ fn predicate_transfers_eck1(c: &mut Criterion) { .chain(message.as_ref().iter().copied()) .chain(public.as_ref().iter().copied()) .collect(); + let predicate_2 = op::ret(RegId::ONE).to_bytes().to_vec(); + let owner_2 = Input::predicate_owner(&predicate_2); let mut tx = TransactionBuilder::script(vec![], vec![]) .script_gas_limit(10000) @@ -277,13 +277,13 @@ fn predicate_transfers_eck1(c: &mut Criterion) { )) .add_input(Input::coin_predicate( rng.gen(), - owner, + owner_2, 1000, Default::default(), Default::default(), Default::default(), - predicate, - predicate_data, + predicate_2, + vec![], )) .add_output(Output::coin(rng.gen(), 50, AssetId::default())) .add_output(Output::change(rng.gen(), 0, AssetId::default())) @@ -330,6 +330,8 @@ fn predicate_transfers_ed19(c: &mut Criterion) { .chain(message.as_ref().iter().copied()), ) .collect(); + let predicate_2 = op::ret(RegId::ONE).to_bytes().to_vec(); + let owner_2 = Input::predicate_owner(&predicate_2); let mut tx = TransactionBuilder::script(vec![], vec![]) .script_gas_limit(10000) @@ -345,13 +347,13 @@ fn predicate_transfers_ed19(c: &mut Criterion) { )) .add_input(Input::coin_predicate( rng.gen(), - owner, + owner_2, 1000, Default::default(), Default::default(), Default::default(), - predicate, - predicate_data, + predicate_2, + vec![], )) .add_output(Output::coin(rng.gen(), 50, AssetId::default())) .add_output(Output::change(rng.gen(), 0, AssetId::default())) diff --git a/tests/test-helpers/src/builder.rs b/tests/test-helpers/src/builder.rs index 0640024395..44a01d654d 100644 --- a/tests/test-helpers/src/builder.rs +++ b/tests/test-helpers/src/builder.rs @@ -10,6 +10,7 @@ use fuel_core::{ }, service::{ Config, + DbType, FuelService, }, }; @@ -227,6 +228,7 @@ impl TestSetupBuilder { starting_gas_price: self.starting_gas_price, ..Config::local_node_with_configs(chain_conf, state) }; + assert_eq!(config.combined_db_config.database_type, DbType::RocksDb); let srv = FuelService::new_node(config).await.unwrap(); let client = FuelClient::from(srv.bound_address);