pub(crate) fn measure_throughput(
    bm: &mut Benchmarker,
    accounts: &mut [AccountData],
    num_rounds: u64,
    num_epochs: u64,
) {
    let mut txn_throughput_seq = vec![];
    for _ in 0..num_epochs {
        let mut repeated_tx_reqs = vec![];
        for _ in 0..num_rounds {
            let tx_reqs = bm.gen_pairwise_txn_requests(accounts);
            repeated_tx_reqs.extend(tx_reqs.into_iter());
        }
        let txn_throughput = bm.measure_txn_throughput(&repeated_tx_reqs);
        txn_throughput_seq.push(txn_throughput);
    }
    info!(
        "{:?} epoch(s) of TXN throughput = {:?}",
        num_epochs, txn_throughput_seq
    );
}
/// Measure both `burst` and `epoch` throughput with pairwise TXN pattern.
/// * `burst throughput`: the average committed txns per second during one run of playing TXNs
///   (e.g., Benchmarker::measure_txn_throughput). Since time is counted from submission until all
///   TXNs are committed, this measurement is in a sense the user-side throughput. In one epoch, we
///   play the pairwise TXN request sequence repeatedly for num_rounds times.
/// * `epoch throughput`: Since single run of playing TXNs may have high variance, we can repeat
///   playing TXNs many times and calculate the averaged `burst throughput` along with standard
///   deviation (will be added shortly).
Measure both `burst` and `epoch` throughput with pairwise TXN pattern.
`burst throughput`: the average committed txns per second during one run of playing TXNs
. Since time is counted from submission until all
TXNs are committed, this measurement is in a sense the user-side throughput. In one epoch, we
play the pairwise TXN request sequence repeatedly for num_rounds times.
`epoch throughput`: Since single run of playing TXNs may have high variance, we can repeat
playing TXNs many times and calculate the averaged `burst throughput` along with standard
deviation (will be added shortly).
Measure both ` burst ` and ` epoch ` throughput with pairwise TXN pattern . ` burst throughput ` : the average committed txns per second during one run of playing TXNs . Since time is counted from submission until all TXNs are committed this measurement is in a sense the user - side throughput . In one epoch we play the pairwise TXN request sequence repeatedly for num_rounds times . ` epoch throughput ` : Since single run of playing TXNs may have high variance we can repeat playing TXNs many times and calculate the averaged ` burst throughput ` along with standard deviation ( will be added shortly ) .
pub(crate) fn measure_throughput(
    bm: &mut Benchmarker,
    accounts: &mut [AccountData],
    num_rounds: u64,
    num_epochs: u64,
) {
    let mut txn_throughput_seq = vec![];
    for _ in 0..num_epochs {
        let mut repeated_tx_reqs = vec![];
        for _ in 0..num_rounds {
            let tx_reqs = bm.gen_pairwise_txn_requests(accounts);
            repeated_tx_reqs.extend(tx_reqs.into_iter());
        }
        let txn_throughput = bm.measure_txn_throughput(&repeated_tx_reqs);
        txn_throughput_seq.push(txn_throughput);
    }
    info!(
        "{:?} epoch(s) of TXN throughput = {:?}",
        num_epochs, txn_throughput_seq
    );
}
pub ( crate ) fn measure_throughput ( bm : & mut Benchmarker , accounts : & mut [ AccountData ] , num_rounds : u64 , num_epochs : u64 , ) { let mut txn_throughput_seq = vec ! [ ] ; for _ in 0 .. num_epochs { let mut repeated_tx_reqs = vec ! [ ] ; for _ in 0 .. num_rounds { let tx_reqs = bm . gen_pairwise_txn_requests ( accounts ) ; repeated_tx_reqs . extend ( tx_reqs . into_iter ( ) ) ; } let txn_throughput = bm . measure_txn_throughput ( & repeated_tx_reqs ) ; txn_throughput_seq . push ( txn_throughput ) ; } info ! ( " " num_epochs txn_throughput_seq ) ; }
Measure both `burst` and `epoch` throughput with pairwise TXN pattern.
Measure both ` burst ` and ` epoch ` throughput with pairwise TXN pattern .
bm
&mut Benchmarker
accounts
&mut [AccountData]
num_rounds
u64
num_epochs
u64