mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-31 04:01:02 +00:00
Co reducing fast-unstake bench time and more (#6552)
* update stuff
* remove
* update
* update
* update weights
* fix tests
* update weights
* fix a few small things
* ".git/.scripts/commands/bench/bench.sh" runtime polkadot-dev pallet-fast-unstake
* ".git/.scripts/commands/bench/bench.sh" runtime polkadot-dev pallet-fast-unstake
* ".git/.scripts/commands/bench/bench.sh" runtime kusama-dev pallet-fast-unstake
* reduce batch size
* ".git/.scripts/commands/bench/bench.sh" runtime polkadot-dev pallet-fast-unstake
* update
* fix
* fix
* ".git/.scripts/commands/bench/bench.sh" runtime polkadot-dev pallet-fast-unstake
* update lockfile for {"substrate"}
* fmt
* Env gate migration try_fast_unstake_all
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
---------
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: command-bot <>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
This commit is contained in:
@@ -607,8 +607,11 @@ impl pallet_fast_unstake::Config for Runtime {
|
||||
EnsureRoot<AccountId>,
|
||||
pallet_collective::EnsureProportionAtLeast<AccountId, CouncilCollective, 1, 2>,
|
||||
>;
|
||||
type WeightInfo = weights::pallet_fast_unstake::WeightInfo<Runtime>;
|
||||
type Staking = Staking;
|
||||
type MaxErasToCheckPerBlock = ConstU32<1>;
|
||||
#[cfg(feature = "runtime-benchmarks")]
|
||||
type MaxBackersPerValidator = MaxNominatorRewardedPerValidator;
|
||||
type WeightInfo = weights::pallet_fast_unstake::WeightInfo<Runtime>;
|
||||
}
|
||||
|
||||
parameter_types! {
|
||||
@@ -2133,6 +2136,19 @@ mod multiplier_tests {
|
||||
})
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn fast_unstake_estimate() {
|
||||
use pallet_fast_unstake::WeightInfo;
|
||||
let block_time = BlockWeights::get().max_block.ref_time() as f32;
|
||||
let on_idle = weights::pallet_fast_unstake::WeightInfo::<Runtime>::on_idle_check(
|
||||
1000,
|
||||
<Runtime as pallet_fast_unstake::Config>::BatchSize::get(),
|
||||
)
|
||||
.ref_time() as f32;
|
||||
println!("ratio of block weight for full batch fast-unstake {}", on_idle / block_time);
|
||||
assert!(on_idle / block_time <= 0.5f32)
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[ignore]
|
||||
fn multiplier_growth_simulator() {
|
||||
@@ -2251,4 +2267,36 @@ mod remote_tests {
|
||||
.unwrap();
|
||||
ext.execute_with(|| Runtime::on_runtime_upgrade(UpgradeCheckSelect::PreAndPost));
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn try_fast_unstake_all() {
|
||||
if var("RUN_MIGRATION_TESTS").is_err() {
|
||||
return
|
||||
}
|
||||
|
||||
sp_tracing::try_init_simple();
|
||||
let transport: Transport =
|
||||
var("WS").unwrap_or("wss://kusama-rpc.polkadot.io:443".to_string()).into();
|
||||
let maybe_state_snapshot: Option<SnapshotConfig> = var("SNAP").map(|s| s.into()).ok();
|
||||
let mut ext = Builder::<Block>::default()
|
||||
.mode(if let Some(state_snapshot) = maybe_state_snapshot {
|
||||
Mode::OfflineOrElseOnline(
|
||||
OfflineConfig { state_snapshot: state_snapshot.clone() },
|
||||
OnlineConfig {
|
||||
transport,
|
||||
state_snapshot: Some(state_snapshot),
|
||||
..Default::default()
|
||||
},
|
||||
)
|
||||
} else {
|
||||
Mode::Online(OnlineConfig { transport, ..Default::default() })
|
||||
})
|
||||
.build()
|
||||
.await
|
||||
.unwrap();
|
||||
ext.execute_with(|| {
|
||||
pallet_fast_unstake::ErasToCheckPerBlock::<Runtime>::put(1);
|
||||
runtime_common::try_runtime::migrate_all_inactive_nominators::<Runtime>()
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user