Fix benchmarks too
This change will make these benchmarks way slower, because its now cloning the transaction vector each iteration instead of the ref counts. We need to rethink these.
This commit is contained in:
committed by
Greg Fitzgerald
parent
d5c0557891
commit
14d624ee40
@ -327,13 +327,6 @@ mod bench {
|
|||||||
let (verified_sender, verified_receiver) = channel();
|
let (verified_sender, verified_receiver) = channel();
|
||||||
let (signal_sender, signal_receiver) = channel();
|
let (signal_sender, signal_receiver) = channel();
|
||||||
let packet_recycler = PacketRecycler::default();
|
let packet_recycler = PacketRecycler::default();
|
||||||
let verified: Vec<_> = to_packets_chunked(&packet_recycler, transactions, 192)
|
|
||||||
.into_iter()
|
|
||||||
.map(|x| {
|
|
||||||
let len = (*x).read().unwrap().packets.len();
|
|
||||||
(x, iter::repeat(1).take(len).collect())
|
|
||||||
})
|
|
||||||
.collect();
|
|
||||||
|
|
||||||
let setup_transactions: Vec<_> = (0..num_src_accounts)
|
let setup_transactions: Vec<_> = (0..num_src_accounts)
|
||||||
.map(|i| {
|
.map(|i| {
|
||||||
@ -346,7 +339,11 @@ mod bench {
|
|||||||
})
|
})
|
||||||
.collect();
|
.collect();
|
||||||
|
|
||||||
let verified_setup: Vec<_> = to_packets_chunked(&packet_recycler, setup_transactions, tx)
|
bencher.iter(move || {
|
||||||
|
let bank = Arc::new(Bank::new(&mint));
|
||||||
|
|
||||||
|
let verified_setup: Vec<_> =
|
||||||
|
to_packets_chunked(&packet_recycler, setup_transactions.clone(), tx)
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.map(|x| {
|
.map(|x| {
|
||||||
let len = (*x).read().unwrap().packets.len();
|
let len = (*x).read().unwrap().packets.len();
|
||||||
@ -354,10 +351,8 @@ mod bench {
|
|||||||
})
|
})
|
||||||
.collect();
|
.collect();
|
||||||
|
|
||||||
bencher.iter(move || {
|
let verified_setup_len = verified_setup.len();
|
||||||
let bank = Arc::new(Bank::new(&mint));
|
verified_sender.send(verified_setup).unwrap();
|
||||||
|
|
||||||
verified_sender.send(verified_setup.clone()).unwrap();
|
|
||||||
BankingStage::process_packets(
|
BankingStage::process_packets(
|
||||||
bank.clone(),
|
bank.clone(),
|
||||||
&verified_receiver,
|
&verified_receiver,
|
||||||
@ -365,9 +360,18 @@ mod bench {
|
|||||||
&packet_recycler,
|
&packet_recycler,
|
||||||
).unwrap();
|
).unwrap();
|
||||||
|
|
||||||
check_txs(verified_setup.len(), &signal_receiver, num_src_accounts);
|
check_txs(verified_setup_len, &signal_receiver, num_src_accounts);
|
||||||
|
|
||||||
verified_sender.send(verified.clone()).unwrap();
|
let verified: Vec<_> = to_packets_chunked(&packet_recycler, transactions.clone(), 192)
|
||||||
|
.into_iter()
|
||||||
|
.map(|x| {
|
||||||
|
let len = (*x).read().unwrap().packets.len();
|
||||||
|
(x, iter::repeat(1).take(len).collect())
|
||||||
|
})
|
||||||
|
.collect();
|
||||||
|
|
||||||
|
let verified_len = verified.len();
|
||||||
|
verified_sender.send(verified).unwrap();
|
||||||
BankingStage::process_packets(
|
BankingStage::process_packets(
|
||||||
bank.clone(),
|
bank.clone(),
|
||||||
&verified_receiver,
|
&verified_receiver,
|
||||||
@ -375,7 +379,7 @@ mod bench {
|
|||||||
&packet_recycler,
|
&packet_recycler,
|
||||||
).unwrap();
|
).unwrap();
|
||||||
|
|
||||||
check_txs(verified.len(), &signal_receiver, tx);
|
check_txs(verified_len, &signal_receiver, tx);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -405,17 +409,18 @@ mod bench {
|
|||||||
let (verified_sender, verified_receiver) = channel();
|
let (verified_sender, verified_receiver) = channel();
|
||||||
let (signal_sender, signal_receiver) = channel();
|
let (signal_sender, signal_receiver) = channel();
|
||||||
let packet_recycler = PacketRecycler::default();
|
let packet_recycler = PacketRecycler::default();
|
||||||
let verified: Vec<_> = to_packets_chunked(&packet_recycler, transactions, tx)
|
|
||||||
|
bencher.iter(move || {
|
||||||
|
let bank = Arc::new(Bank::new(&mint));
|
||||||
|
let verified: Vec<_> = to_packets_chunked(&packet_recycler, transactions.clone(), tx)
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.map(|x| {
|
.map(|x| {
|
||||||
let len = (*x).read().unwrap().packets.len();
|
let len = (*x).read().unwrap().packets.len();
|
||||||
(x, iter::repeat(1).take(len).collect())
|
(x, iter::repeat(1).take(len).collect())
|
||||||
})
|
})
|
||||||
.collect();
|
.collect();
|
||||||
|
let verified_len = verified.len();
|
||||||
bencher.iter(move || {
|
verified_sender.send(verified).unwrap();
|
||||||
let bank = Arc::new(Bank::new(&mint));
|
|
||||||
verified_sender.send(verified.clone()).unwrap();
|
|
||||||
BankingStage::process_packets(
|
BankingStage::process_packets(
|
||||||
bank.clone(),
|
bank.clone(),
|
||||||
&verified_receiver,
|
&verified_receiver,
|
||||||
@ -423,7 +428,7 @@ mod bench {
|
|||||||
&packet_recycler,
|
&packet_recycler,
|
||||||
).unwrap();
|
).unwrap();
|
||||||
|
|
||||||
check_txs(verified.len(), &signal_receiver, tx);
|
check_txs(verified_len, &signal_receiver, tx);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -660,9 +660,8 @@ mod bench {
|
|||||||
let timer = Duration::new(1, 0);
|
let timer = Duration::new(1, 0);
|
||||||
match r.recv_timeout(timer) {
|
match r.recv_timeout(timer) {
|
||||||
Ok(msgs) => {
|
Ok(msgs) => {
|
||||||
let msgs_ = msgs.clone();
|
|
||||||
*rvs.lock().unwrap() += msgs.read().unwrap().packets.len();
|
*rvs.lock().unwrap() += msgs.read().unwrap().packets.len();
|
||||||
recycler.recycle(msgs_);
|
recycler.recycle(msgs);
|
||||||
}
|
}
|
||||||
_ => (),
|
_ => (),
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user