From f78ec140ab6fa6c3c03d6c21b755fe7bba6b2fc1 Mon Sep 17 00:00:00 2001 From: Tao Zhu Date: Wed, 14 Jun 2023 18:46:36 +0000 Subject: [PATCH] add 1_000 as multiplier to compute-unit-price --- bench-tps/src/bench.rs | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/bench-tps/src/bench.rs b/bench-tps/src/bench.rs index f3c9de778db..585586930ee 100644 --- a/bench-tps/src/bench.rs +++ b/bench-tps/src/bench.rs @@ -41,10 +41,13 @@ use { const MAX_TX_QUEUE_AGE: u64 = (MAX_PROCESSING_AGE as f64 * DEFAULT_S_PER_SLOT) as u64; // Add prioritization fee to transfer transactions, when `--use-randomized-compute-unit-price` -// is used, compute-unit-price is randomly generated in range of (0..MAX_COMPUTE_UNIT_PRICE). +// is used, compute-unit-price is randomly generated in range of (0..MAX_COMPUTE_UNIT_PRICE) +// multiplies by COMPUTE_UNIT_PRICE_MULTIPLIER; // It also sets transaction's compute-unit to TRANSFER_TRANSACTION_COMPUTE_UNIT. Therefore the -// max additional cost is `TRANSFER_TRANSACTION_COMPUTE_UNIT * MAX_COMPUTE_UNIT_PRICE / 1_000_000` +// max additional cost is: +// `TRANSFER_TRANSACTION_COMPUTE_UNIT * MAX_COMPUTE_UNIT_PRICE * COMPUTE_UNIT_PRICE_MULTIPLIER / 1_000_000` const MAX_COMPUTE_UNIT_PRICE: u64 = 50; +const COMPUTE_UNIT_PRICE_MULTIPLIER: u64 = 1_000; const TRANSFER_TRANSACTION_COMPUTE_UNIT: u32 = 600; // 1 transfer is plus 3 compute_budget ixs /// calculate maximum possible prioritization fee, if `use-randomized-compute-unit-price` is /// enabled, round to nearest lamports. @@ -52,6 +55,7 @@ pub fn max_lamports_for_prioritization(use_randomized_compute_unit_price: bool) if use_randomized_compute_unit_price { const MICRO_LAMPORTS_PER_LAMPORT: u64 = 1_000_000; let micro_lamport_fee: u128 = (MAX_COMPUTE_UNIT_PRICE as u128) + .saturating_mul(COMPUTE_UNIT_PRICE_MULTIPLIER as u128) .saturating_mul(TRANSFER_TRANSACTION_COMPUTE_UNIT as u128); let fee = micro_lamport_fee .saturating_add(MICRO_LAMPORTS_PER_LAMPORT.saturating_sub(1) as u128) @@ -527,8 +531,13 @@ fn generate_system_txs( if use_randomized_compute_unit_price { let mut rng = rand::thread_rng(); let range = Uniform::from(0..MAX_COMPUTE_UNIT_PRICE); - let compute_unit_prices: Vec<_> = - (0..pairs.len()).map(|_| range.sample(&mut rng)).collect(); + let compute_unit_prices: Vec<_> = (0..pairs.len()) + .map(|_| { + range + .sample(&mut rng) + .saturating_mul(COMPUTE_UNIT_PRICE_MULTIPLIER) + }) + .collect(); let pairs_with_compute_unit_prices: Vec<_> = pairs.iter().zip(compute_unit_prices.iter()).collect();