consumer bench same number of txs per iteration (#34752)

This commit is contained in:
Andrew Fitzgerald 2024-01-12 08:24:45 -08:00 committed by GitHub
parent be5337a839
commit 98a2873517
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 21 additions and 6 deletions

View File

@ -139,6 +139,16 @@ fn bench_process_and_record_transactions(
batch_size: usize,
apply_cost_tracker_during_replay: bool,
) {
const TRANSACTIONS_PER_ITERATION: usize = 64;
assert_eq!(
TRANSACTIONS_PER_ITERATION % batch_size,
0,
"batch_size must be a factor of \
`TRANSACTIONS_PER_ITERATION` ({TRANSACTIONS_PER_ITERATION}) \
so that bench results are easily comparable"
);
let batches_per_iteration = TRANSACTIONS_PER_ITERATION / batch_size;
let BenchFrame {
bank,
ledger_path: _ledger_path,
@ -152,12 +162,17 @@ fn bench_process_and_record_transactions(
let mut transaction_iter = transactions.chunks(batch_size);
bencher.iter(move || {
let summary =
consumer.process_and_record_transactions(&bank, transaction_iter.next().unwrap(), 0);
assert!(summary
.execute_and_commit_transactions_output
.commit_transactions_result
.is_ok());
for _ in 0..batches_per_iteration {
let summary = consumer.process_and_record_transactions(
&bank,
transaction_iter.next().unwrap(),
0,
);
assert!(summary
.execute_and_commit_transactions_output
.commit_transactions_result
.is_ok());
}
});
exit.store(true, Ordering::Relaxed);