mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-19 03:01:02 +00:00
Store election snapshot in a more memory-friendly way. (#9275)
* Store election snapshot in a more memory-friendly way. * fix * re-order benchmarks * Update frame/election-provider-multi-phase/src/lib.rs Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com> * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_election_provider_multi_phase --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/election-provider-multi-phase/src/weights.rs --template=./.maintain/frame-weight-template.hbs * manually fix the weights * remove todo Co-authored-by: Guillaume Thiolliere <gui.thiolliere@gmail.com> Co-authored-by: Parity Bot <admin@parity.io>
This commit is contained in:
@@ -199,6 +199,18 @@ frame_benchmarking::benchmarks! {
|
||||
assert!(<MultiPhase<T>>::current_phase().is_unsigned());
|
||||
}
|
||||
|
||||
on_initialize_open_unsigned_without_snapshot {
|
||||
// need to assume signed phase was open before
|
||||
<MultiPhase<T>>::on_initialize_open_signed().unwrap();
|
||||
assert!(<MultiPhase<T>>::snapshot().is_some());
|
||||
assert!(<MultiPhase<T>>::current_phase().is_signed());
|
||||
}: {
|
||||
<MultiPhase<T>>::on_initialize_open_unsigned(false, true, 1u32.into()).unwrap();
|
||||
} verify {
|
||||
assert!(<MultiPhase<T>>::snapshot().is_some());
|
||||
assert!(<MultiPhase<T>>::current_phase().is_unsigned());
|
||||
}
|
||||
|
||||
finalize_signed_phase_accept_solution {
|
||||
let receiver = account("receiver", 0, SEED);
|
||||
let initial_balance = T::Currency::minimum_balance() * 10u32.into();
|
||||
@@ -232,18 +244,6 @@ frame_benchmarking::benchmarks! {
|
||||
assert_eq!(T::Currency::reserved_balance(&receiver), 0u32.into());
|
||||
}
|
||||
|
||||
on_initialize_open_unsigned_without_snapshot {
|
||||
// need to assume signed phase was open before
|
||||
<MultiPhase<T>>::on_initialize_open_signed().unwrap();
|
||||
assert!(<MultiPhase<T>>::snapshot().is_some());
|
||||
assert!(<MultiPhase<T>>::current_phase().is_signed());
|
||||
}: {
|
||||
<MultiPhase<T>>::on_initialize_open_unsigned(false, true, 1u32.into()).unwrap();
|
||||
} verify {
|
||||
assert!(<MultiPhase<T>>::snapshot().is_some());
|
||||
assert!(<MultiPhase<T>>::current_phase().is_unsigned());
|
||||
}
|
||||
|
||||
// a call to `<Pallet as ElectionProvider>::elect` where we only return the queued solution.
|
||||
elect_queued {
|
||||
// number of votes in snapshot.
|
||||
|
||||
Reference in New Issue
Block a user