Skip to content

Conversation

@sigurpol
Copy link
Contributor

They were run on VM and not on reference HW in the scope of #974.

@sigurpol
Copy link
Contributor Author

/cmd bench --runtime asset-hub-polkadot --pallet pallet_election_provider_multi_block pallet_election_provider_multi_block_signed pallet_election_provider_multi_block_verifier pallet_election_provider_multi_block_unsigned pallet_staking_async

@github-actions
Copy link

Sorry, only fellows can run commands.

@sigurpol
Copy link
Contributor Author

@bkchr @bkontur @ggwpez can you run the same command for me 🙏 ? Thx!

@PolkadotDom
Copy link
Contributor

/cmd bench --runtime asset-hub-polkadot --pallet pallet_election_provider_multi_block pallet_election_provider_multi_block_signed pallet_election_provider_multi_block_verifier pallet_election_provider_multi_block_unsigned pallet_staking_async

@github-actions
Copy link

Command "bench --runtime asset-hub-polkadot --pallet pallet_election_provider_multi_block pallet_election_provider_multi_block_signed pallet_election_provider_multi_block_verifier pallet_election_provider_multi_block_unsigned pallet_staking_async" has started 🚀 See logs here

@sigurpol
Copy link
Contributor Author

Thanks @PolkadotDom 🚀

@github-actions
Copy link

Command "bench --runtime asset-hub-polkadot --pallet pallet_election_provider_multi_block pallet_election_provider_multi_block_signed pallet_election_provider_multi_block_verifier pallet_election_provider_multi_block_unsigned pallet_staking_async" has finished ✅ See logs here

Details

Subweight results:

No changes found.

@PolkadotDom
Copy link
Contributor

/cmd bench --runtime asset-hub-polkadot --pallet pallet_staking_async

@github-actions
Copy link

Command "bench --runtime asset-hub-polkadot --pallet pallet_staking_async" has started 🚀 See logs here

@github-actions
Copy link

Command "bench --runtime asset-hub-polkadot --pallet pallet_staking_async" has finished ✅ See logs here

Details

Subweight results:

No changes found.

@sigurpol
Copy link
Contributor Author

Ok I am going to ask again in the fellowship runner room

@Ank4n
Copy link
Contributor

Ank4n commented Dec 22, 2025

/cmd bench --runtime asset-hub-polkadot --pallet pallet_staking_async

@github-actions
Copy link

Sorry, only fellows can run commands.

@Ank4n
Copy link
Contributor

Ank4n commented Dec 22, 2025

Command "bench --runtime asset-hub-polkadot --pallet pallet_staking_async" has finished ✅ See logs here

Details
Subweight results:
No changes found.

It failed to compile the PAH runtime.

@sigurpol
Copy link
Contributor Author

Command "bench --runtime asset-hub-polkadot --pallet pallet_staking_async" has finished ✅ See logs here
Details
Subweight results:
No changes found.

It failed to compile the PAH runtime.

Both missing solc and the issue we were returning OK even if /cmd failed have been fixed in #1043 so I am rebasing on top of that.

@bkchr
Copy link
Contributor

bkchr commented Dec 24, 2025

/cmd bench --runtime asset-hub-polkadot --pallet pallet_election_provider_multi_block pallet_election_provider_multi_block_signed pallet_election_provider_multi_block_verifier pallet_election_provider_multi_block_unsigned pallet_staking_async

@github-actions
Copy link

Command "bench --runtime asset-hub-polkadot --pallet pallet_election_provider_multi_block pallet_election_provider_multi_block_signed pallet_election_provider_multi_block_verifier pallet_election_provider_multi_block_unsigned pallet_staking_async" has started 🚀 See logs here

… --pallet pallet_election_provider_multi_block pallet_election_provider_multi_block_signed pallet_election_provider_multi_block_verifier pallet_election_provider_multi_block_unsigned pallet_staking_async'
@github-actions
Copy link

Command "bench --runtime asset-hub-polkadot --pallet pallet_election_provider_multi_block pallet_election_provider_multi_block_signed pallet_election_provider_multi_block_verifier pallet_election_provider_multi_block_unsigned pallet_staking_async" has finished ✅ See logs here

Details

Subweight results:

No changes found.

@sigurpol
Copy link
Contributor Author

sigurpol commented Dec 24, 2025

@bkchr , @Ank4n
💩 3h of waiting and we got

No pallets [['pallet_election_provider_multi_block', 'pallet_election_provider_multi_block_signed', 'pallet_election_provider_multi_block_verifier', 'pallet_election_provider_multi_block_unsigned', 'pallet_staking_async']] found in ['asset-hub-polkadot']

from https://github.com/polkadot-fellows/runtimes/actions/runs/20483026864/job/58862929149#step:12:112

I took the command from #974 (comment) where it worked just fine...
But in the list of supported proxy is using a different name (: instead of _) so it seems it might work with

/cmd bench --runtime asset-hub-polkadot --pallet pallet_election_provider_multi_block pallet_election_provider_multi_block::signed pallet_election_provider_multi_block::verifier pallet_election_provider_multi_block::unsigned pallet_staking_async

(also it hasn't errored out but returned success 😥)

Extended logs:

-- listing pallets for benchmark for asset-hub-polkadot
Pallets in {'name': 'asset-hub-polkadot', 'package': 'asset-hub-polkadot-runtime', 'path': 'system-parachains/asset-hubs/asset-hub-polkadot', 'uri': 'wss://polkadot-asset-hub-rpc.polkadot.io:443', 'is_relay': False, 'blocktime': 6000, 'extra_args': '--disable-mbm-checks', 'try_runtime_args': '--overwrite-state-version 1', 'build_extra_features': 'polkadot-ahm', 'benchmarks_templates': {'pallet_xcm_benchmarks::generic': 'templates/xcm-bench-template.hbs', 'pallet_xcm_benchmarks::fungible': 'templates/xcm-bench-template.hbs'}}: ['pallet_asset_rate', 'snowbridge_pallet_system_frontend', 'pallet_nfts', 'pallet_utility', 'pallet_child_bounties', 'pallet_xcm', 'pallet_parameters', 'pallet_treasury', 'pallet_timestamp', 'cumulus_pallet_parachain_system', 'pallet_referenda', 'pallet_xcm_benchmarks::generic', 'frame_system_extensions', 'pallet_uniques', 'pallet_multisig', 'pallet_collator_selection', 'pallet_bags_list', 'pallet_scheduler', 'pallet_whitelist', 'pallet_election_provider_multi_block', 'pallet_assets', 'pallet_transaction_payment', 'pallet_balances', 'pallet_election_provider_multi_block::verifier', 'pallet_xcm_benchmarks::fungible', 'pallet_conviction_voting', 'pallet_staking_async', 'pallet_asset_conversion', 'pallet_xcm_bridge_hub_router', 'pallet_proxy', 'pallet_bounties', 'pallet_ah_ops', 'pallet_indices', 'pallet_ah_migrator', 'pallet_message_queue', 'polkadot_runtime_common::claims', 'pallet_preimage', 'pallet_election_provider_multi_block::unsigned', 'pallet_session', 'pallet_election_provider_multi_block::signed', 'cumulus_pallet_xcmp_queue', 'pallet_asset_conversion_tx_payment', 'frame_system', 'pallet_vesting']
Pallet: ['pallet_election_provider_multi_block', 'pallet_election_provider_multi_block_signed', 'pallet_election_provider_multi_block_verifier', 'pallet_election_provider_multi_block_unsigned', 'pallet_staking_async']
Filtered out runtimes & pallets: {}
No pallets [['pallet_election_provider_multi_block', 'pallet_election_provider_multi_block_signed', 'pallet_election_provider_multi_block_verifier', 'pallet_election_provider_multi_block_unsigned', 'pallet_staking_async']] found in ['asset-hub-polkadot']

@bkontur
Copy link
Contributor

bkontur commented Dec 24, 2025

#1008 (comment)

@bkontur
Copy link
Contributor

bkontur commented Dec 24, 2025

/cmd bench --runtime asset-hub-polkadot --pallet pallet_election_provider_multi_block pallet_election_provider_multi_block::signed pallet_election_provider_multi_block::unsigned pallet_election_provider_multi_block::verifier pallet_staking_async

@github-actions
Copy link

Command "bench --runtime asset-hub-polkadot --pallet pallet_election_provider_multi_block pallet_election_provider_multi_block::signed pallet_election_provider_multi_block::unsigned pallet_election_provider_multi_block::verifier pallet_staking_async" has started 🚀 See logs here

@sigurpol
Copy link
Contributor Author

thanks @bkontur , I was DM Basti as we speak to tell him that with :: locally it works so your command should work now. Thanks again both of you

…ot --pallet pallet_election_provider_multi_block pallet_election_provider_multi_block::signed pallet_election_provider_multi_block::unsigned pallet_election_provider_multi_block::verifier pallet_staking_async'
@github-actions
Copy link

Command "bench --runtime asset-hub-polkadot --pallet pallet_election_provider_multi_block pallet_election_provider_multi_block::signed pallet_election_provider_multi_block::unsigned pallet_election_provider_multi_block::verifier pallet_staking_async" has finished ✅ See logs here

Details

Subweight results:
File Extrinsic Old New Change [%]
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs force_apply_min_commission 197.26us 3.94ms +1895.67
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs process_offence_queue 804.77us 15.52ms +1828.16
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_election_provider_multi_block.rs on_initialize_into_signed_validation 212.15us 3.48ms +1538.17
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_election_provider_multi_block.rs on_initialize_into_unsigned 240.09us 3.46ms +1339.73
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs unbond 1.14ms 16.14ms +1310.10
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs chill_other 1.10ms 13.86ms +1157.76
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs chill 998.16us 12.10ms +1111.73
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs rebond 1.12ms 13.43ms +1102.65
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs bond_extra 1.25ms 14.12ms +1025.71
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs nominate 1.57ms 17.36ms +1005.89
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs withdraw_unbonded_kill 1.79ms 18.95ms +959.47
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs reap_stash 1.71ms 17.29ms +912.49
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs force_unstake 1.76ms 17.59ms +898.78
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_election_provider_multi_block_signed.rs unset_page 711.04us 6.67ms +838.45
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_election_provider_multi_block_signed.rs submit_page 726.02us 6.53ms +798.84
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs rc_on_session_report 1.41ms 10.47ms +642.14
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_election_provider_multi_block_unsigned.rs validate_unsigned 913.53us 3.35ms +266.71
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_election_provider_multi_block_unsigned.rs submit_unsigned 18.73ms 31.44ms +67.83
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_election_provider_multi_block.rs manage 190.00ns 270.00ns +42.11
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs cancel_deferred_slash 2.60ms 3.50ms +34.62
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs rc_on_offence 145.70ms 192.67ms +32.24
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_election_provider_multi_block_verifier.rs on_initialize_valid_non_terminal 4.34ms 5.56ms +27.93
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_election_provider_multi_block_verifier.rs on_initialize_valid_terminal 41.53ms 53.04ms +27.73
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_election_provider_multi_block_verifier.rs on_initialize_invalid_terminal 45.28ms 56.53ms +24.83
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs payout_stakers_alive_staked 282.04ms 332.26ms +17.80
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_election_provider_multi_block.rs on_initialize_into_signed 96.56ms 111.34ms +15.30
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs migrate_currency 446.43us 505.77us +13.29
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs update_payee 207.57us 234.74us +13.09
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs apply_slash 327.66ms 369.12ms +12.65
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs set_payee 176.16us 196.24us +11.40
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs withdraw_unbonded_update 572.41us 632.95us +10.58
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_election_provider_multi_block.rs on_initialize_into_snapshot_rest 99.15ms 109.25ms +10.19
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs force_no_eras 108.90us 119.53us +9.76
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs force_new_era 108.85us 118.85us +9.19
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_election_provider_multi_block.rs on_initialize_into_snapshot_msp 59.56ms 64.96ms +9.07
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs restore_ledger 409.41us 445.06us +8.71
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs force_new_era_always 108.94us 117.92us +8.24
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs prune_era_total_stake 274.35us 294.38us +7.30
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_election_provider_multi_block_signed.rs register_not_full 544.10us 583.26us +7.20
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs bond 637.32us 681.85us +6.99
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs validate 876.62us 929.02us +5.98
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs prune_era_reward_points 271.40us 287.10us +5.78
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs set_controller 410.52us 433.86us +5.69
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs prune_era_validator_reward 272.30us 287.43us +5.56

@sigurpol
Copy link
Contributor Author

Still running on VM 😔

@sigurpol
Copy link
Contributor Author

sigurpol commented Dec 26, 2025

so it runs now on tugy/Amorfc runner. @tugytur mentioned that all the ipb runners run on VMs but this one specifically is validator spec one, it's a VM with the docker setup within that, and the VM passes benchmarks.
@bkchr suggests to perform some tests to evaluate the delta between docker in VMs with kvm vs docker w/o VM and compare results. If close enough, we might consider the results acceptable.
So probably the best would be to try to rerun the job at this round directly on reference HW w/o VM involved and check how different the results are.
(cc @Ank4n , @kianenigma)

@sigurpol
Copy link
Contributor Author

sigurpol commented Jan 6, 2026

@bkontur: @seadanda mentioned that you could potentially run benchmark locally on a machine matching ref HW. Would it be possible to do that for you and just push the results so we can have proper staking weights for incoming release on PAH (cut end of the week AFAIK) while we are trying to have things in order on infra side? thanks in advance 🙏

@kianenigma
Copy link
Contributor

/cmd bench --runtime asset-hub-polkadot --pallet pallet_election_provider_multi_block pallet_election_provider_multi_block::signed pallet_election_provider_multi_block::unsigned pallet_election_provider_multi_block::verifier pallet_staking_async

@github-actions
Copy link

Command "bench --runtime asset-hub-polkadot --pallet pallet_election_provider_multi_block pallet_election_provider_multi_block::signed pallet_election_provider_multi_block::unsigned pallet_election_provider_multi_block::verifier pallet_staking_async" has started 🚀 See logs here

@github-actions
Copy link

Command "bench --runtime asset-hub-polkadot --pallet pallet_election_provider_multi_block pallet_election_provider_multi_block::signed pallet_election_provider_multi_block::unsigned pallet_election_provider_multi_block::verifier pallet_staking_async" has finished ✅ See logs here

@kianenigma
Copy link
Contributor

/cmd bench --runtime asset-hub-polkadot --pallet pallet_election_provider_multi_block pallet_election_provider_multi_block::signed pallet_election_provider_multi_block::unsigned pallet_election_provider_multi_block::verifier pallet_staking_async

@github-actions
Copy link

Command "bench --runtime asset-hub-polkadot --pallet pallet_election_provider_multi_block pallet_election_provider_multi_block::signed pallet_election_provider_multi_block::unsigned pallet_election_provider_multi_block::verifier pallet_staking_async" has started 🚀 See logs here

@github-actions
Copy link

Command "bench --runtime asset-hub-polkadot --pallet pallet_election_provider_multi_block pallet_election_provider_multi_block::signed pallet_election_provider_multi_block::unsigned pallet_election_provider_multi_block::verifier pallet_staking_async" has finished ✅ See logs here

@bkchr
Copy link
Contributor

bkchr commented Jan 13, 2026

/cmd bench --runtime asset-hub-polkadot --pallet pallet_election_provider_multi_block pallet_election_provider_multi_block::signed pallet_election_provider_multi_block::unsigned pallet_election_provider_multi_block::verifier pallet_staking_async

@github-actions
Copy link

Command "bench --runtime asset-hub-polkadot --pallet pallet_election_provider_multi_block pallet_election_provider_multi_block::signed pallet_election_provider_multi_block::unsigned pallet_election_provider_multi_block::verifier pallet_staking_async" has started 🚀 See logs here

… --pallet pallet_election_provider_multi_block pallet_election_provider_multi_block::signed pallet_election_provider_multi_block::unsigned pallet_election_provider_multi_block::verifier pallet_staking_async'
@github-actions
Copy link

Command "bench --runtime asset-hub-polkadot --pallet pallet_election_provider_multi_block pallet_election_provider_multi_block::signed pallet_election_provider_multi_block::unsigned pallet_election_provider_multi_block::verifier pallet_staking_async" has finished ✅ See logs here

Details

Subweight results:
File Extrinsic Old New Change [%]
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs force_apply_min_commission 197.26us 3.40ms +1623.49
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs process_offence_queue 804.77us 12.97ms +1511.57
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_election_provider_multi_block.rs on_initialize_into_signed_validation 212.15us 2.52ms +1085.50
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs rebond 1.12ms 11.62ms +940.63
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs chill 998.16us 10.19ms +920.39
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_election_provider_multi_block.rs on_initialize_into_unsigned 240.09us 2.34ms +876.25
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs chill_other 1.10ms 10.65ms +866.21
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs unbond 1.14ms 10.71ms +835.88
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs bond_extra 1.25ms 10.95ms +772.88
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs reap_stash 1.71ms 14.10ms +725.85
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs rc_on_session_report 1.41ms 11.28ms +699.01
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs force_unstake 1.76ms 14.00ms +694.81
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs nominate 1.57ms 11.75ms +648.61
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs withdraw_unbonded_kill 1.79ms 13.17ms +636.18
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_election_provider_multi_block_signed.rs submit_page 726.02us 4.60ms +532.93
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_election_provider_multi_block_signed.rs unset_page 711.04us 3.91ms +450.04
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_election_provider_multi_block_unsigned.rs validate_unsigned 913.53us 2.14ms +133.96
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs rc_on_offence 145.70ms 183.18ms +25.73
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_election_provider_multi_block_unsigned.rs submit_unsigned 18.73ms 22.54ms +20.33
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs payout_stakers_alive_staked 282.04ms 309.61ms +9.78
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_staking_async.rs apply_slash 327.66ms 355.97ms +8.64
system-parachains/asset-hubs/asset-hub-polkadot/src/weights/pallet_election_provider_multi_block.rs manage 190.00ns 171.00ns -10.00

@sigurpol
Copy link
Contributor Author

The genesis config includes devStakers: Some((2_000, 25_000)) which pre-populates 27,000 stakers (2,000 validators + 25,000 nominators).

Many pallet_staking_async benchmarks call clear_validators_and_nominators() in their setup phase, which:

  1. Iterates through all 27,000 keys from the backend
  2. Marks them for deletion in the overlay
  3. Triggers an expensive merkle trie recalculation during commit_db()

Even though this happens in the "setup" phase (before timing), the cost appears to leak into the measured execution time and this is the bug!

Evidence
┌───────────────────────────┬────────────────────────────┐
│ Benchmark Flag │ force_apply_min_commission │
├───────────────────────────┼────────────────────────────┤
│ Default (with genesis) │ ~3,000 µs ❌ │
├───────────────────────────┼────────────────────────────┤
│ --disable-proof-recording │ ~3,000 µs ❌ │
├───────────────────────────┼────────────────────────────┤
│ --genesis-builder none │ ~40 µs ✅ │
└───────────────────────────┴────────────────────────────┘

Affected Benchmarks

All benchmarks calling clear_validators_and_nominators():

  • force_apply_min_commission (+1623%)
  • rebond (+940%)
  • chill (+920%)
  • chill_other (+866%)
  • unbond (+835%)
  • bond_extra (+772%)
  • reap_stash (+725%)
  • force_unstake, withdraw_unbonded_kill, nominate

Benchmarks using create_validator_with_nominators helper are also affected (e.g., process_offence_queue).

@sigurpol
Copy link
Contributor Author

sigurpol commented Jan 14, 2026

if we just want to unlock staking very quickly, the easiest seems just adding

frame_benchmarking::benchmarking::commit_db();

at the end of the infamous clear_validators_and_nominators(). Then we can open a SDK issue and work in background to fix the real problem of expensive root calculation leaking into benchmark timing.

Tested and works just fine for e.g. force_apply_min_commission and process_offence_queue.

I've created an issue in the SDK: paritytech/polkadot-sdk#10798

@sigurpol
Copy link
Contributor Author

I have merged paritytech/polkadot-sdk#10802 on SDK which will solve the bulk operation leaking into benchmark result. This change is needed in order to be able to remeasure weights decently for staking.
So I believe we should backport it to the SDK version we want to have for next PAH RU (2512 probably?) cc @kianenigma @Ank4n

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

7 participants