diff --git a/.gitignore b/.gitignore index b59ece2791d17..d2c6f727f480e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,8 @@ +log--* +old-logs/** +perf.* +*.svg +*.rs-- !polkadot.service .cargo-remote.toml .direnv/ diff --git a/Cargo.lock b/Cargo.lock index 27f02406d68de..f09336e4e3855 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1803,7 +1803,7 @@ name = "binary-merkle-tree" version = "13.0.0" dependencies = [ "array-bytes 6.2.2", - "hash-db", + "hash-db 0.16.0 (git+https://github.com/paritytech/trie?branch=mku-no-commit-on-drop)", "log", "parity-scale-codec", "sp-core 28.0.0", @@ -2306,7 +2306,7 @@ version = "0.7.0" dependencies = [ "frame-support", "frame-system", - "hash-db", + "hash-db 0.16.0 (git+https://github.com/paritytech/trie?branch=mku-no-commit-on-drop)", "hex-literal", "impl-trait-for-tuples", "num-traits", @@ -2320,7 +2320,7 @@ dependencies = [ "sp-std 14.0.0", "sp-trie", "tracing", - "trie-db", + "trie-db 0.31.0", ] [[package]] @@ -4541,7 +4541,7 @@ dependencies = [ "sp-version", "staging-xcm", "staging-xcm-builder", - "trie-db", + "trie-db 0.31.0", "trie-standardmap", ] @@ -7176,6 +7176,28 @@ dependencies = [ "slab", ] +[[package]] +name = "fxhash" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" +dependencies = [ + "byteorder", +] + +[[package]] +name = "fxprof-processed-profile" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27d12c0aed7f1e24276a241aadc4cb8ea9f83000f34bc062b7cc2d51e3b0fabd" +dependencies = [ + "bitflags 2.6.0", + "debugid", + "fxhash", + "serde", + "serde_json", +] + [[package]] name = "generate-bags" version = "28.0.0" @@ -7522,6 +7544,11 @@ version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e7d7786361d7425ae2fe4f9e407eb0efaa0840f5212d109cc018c40c35c6ab4" +[[package]] +name = "hash-db" +version = "0.16.0" +source = "git+https://github.com/paritytech/trie?branch=mku-no-commit-on-drop#6338efa9093d533e06d912565023bf7a33a14060" + [[package]] name = "hash256-std-hasher" version = "0.15.2" @@ -8509,6 +8536,26 @@ version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" +[[package]] +name = "ittapi" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b996fe614c41395cdaedf3cf408a9534851090959d90d54a535f675550b64b1" +dependencies = [ + "anyhow", + "ittapi-sys", + "log", +] + +[[package]] +name = "ittapi-sys" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52f5385394064fa2c886205dba02598013ce83d3e92d33dbdc0c52fe0e7bf4fc" +dependencies = [ + "cc", +] + [[package]] name = "jam-codec" version = "0.1.0" @@ -8844,7 +8891,7 @@ version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "19ea4653859ca2266a86419d3f592d3f22e7a854b482f99180d2498507902048" dependencies = [ - "hash-db", + "hash-db 0.16.0 (registry+https://github.com/rust-lang/crates.io-index)", "hash256-std-hasher", "tiny-keccak", ] @@ -10010,7 +10057,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7e300c54e3239a86f9c61cc63ab0f03862eb40b1c6e065dc6fd6ceaeff6da93d" dependencies = [ "foldhash", - "hash-db", + "hash-db 0.16.0 (registry+https://github.com/rust-lang/crates.io-index)", + "hashbrown 0.15.3", +] + +[[package]] +name = "memory-db" +version = "0.34.0" +source = "git+https://github.com/paritytech/trie?branch=mku-no-commit-on-drop#6338efa9093d533e06d912565023bf7a33a14060" +dependencies = [ + "foldhash", + "hash-db 0.16.0 (git+https://github.com/paritytech/trie?branch=mku-no-commit-on-drop)", "hashbrown 0.15.3", ] @@ -10532,7 +10589,7 @@ dependencies = [ "derive_more 0.99.17", "fs_extra", "futures", - "hash-db", + "hash-db 0.16.0 (git+https://github.com/paritytech/trie?branch=mku-no-commit-on-drop)", "kitchensink-runtime", "kvdb", "kvdb-rocksdb", @@ -19031,6 +19088,7 @@ dependencies = [ "sp-state-machine", "sp-trie", "substrate-test-runtime-client", + "tracing", ] [[package]] @@ -19151,7 +19209,7 @@ version = "0.35.0" dependencies = [ "array-bytes 6.2.2", "criterion", - "hash-db", + "hash-db 0.16.0 (git+https://github.com/paritytech/trie?branch=mku-no-commit-on-drop)", "kitchensink-runtime", "kvdb", "kvdb-memorydb", @@ -22225,7 +22283,7 @@ name = "sp-api" version = "26.0.0" dependencies = [ "docify", - "hash-db", + "hash-db 0.16.0 (git+https://github.com/paritytech/trie?branch=mku-no-commit-on-drop)", "log", "parity-scale-codec", "scale-info", @@ -22499,7 +22557,7 @@ dependencies = [ "dyn-clone", "ed25519-zebra", "futures", - "hash-db", + "hash-db 0.16.0 (git+https://github.com/paritytech/trie?branch=mku-no-commit-on-drop)", "hash256-std-hasher", "impl-serde", "itertools 0.11.0", @@ -22548,7 +22606,7 @@ dependencies = [ "dyn-clonable", "ed25519-zebra", "futures", - "hash-db", + "hash-db 0.16.0 (registry+https://github.com/rust-lang/crates.io-index)", "hash256-std-hasher", "impl-serde", "itertools 0.11.0", @@ -23042,8 +23100,11 @@ dependencies = [ "arbitrary", "array-bytes 6.2.2", "assert_matches", - "hash-db", + "foldhash", + "hash-db 0.16.0 (git+https://github.com/paritytech/trie?branch=mku-no-commit-on-drop)", + "indexmap", "log", + "nohash-hasher", "parity-scale-codec", "parking_lot 0.12.3", "pretty_assertions", @@ -23053,10 +23114,11 @@ dependencies = [ "sp-externalities 0.25.0", "sp-panic-handler", "sp-runtime", + "sp-tracing 16.0.0", "sp-trie", "thiserror 1.0.65", "tracing", - "trie-db", + "trie-db 0.31.0", ] [[package]] @@ -23191,9 +23253,9 @@ dependencies = [ "array-bytes 6.2.2", "criterion", "foldhash", - "hash-db", + "hash-db 0.16.0 (git+https://github.com/paritytech/trie?branch=mku-no-commit-on-drop)", "hashbrown 0.15.3", - "memory-db", + "memory-db 0.34.0 (git+https://github.com/paritytech/trie?branch=mku-no-commit-on-drop)", "nohash-hasher", "parity-scale-codec", "parking_lot 0.12.3", @@ -23207,8 +23269,8 @@ dependencies = [ "thiserror 1.0.65", "tracing", "trie-bench", - "trie-db", - "trie-root", + "trie-db 0.31.0", + "trie-root 0.18.0 (git+https://github.com/paritytech/trie?branch=mku-no-commit-on-drop)", "trie-standardmap", ] @@ -24017,7 +24079,7 @@ dependencies = [ "sp-runtime", "sp-state-machine", "sp-trie", - "trie-db", + "trie-db 0.31.0", ] [[package]] @@ -24096,7 +24158,7 @@ dependencies = [ "substrate-test-runtime-client", "substrate-wasm-builder", "tracing", - "trie-db", + "trie-db 0.31.0", ] [[package]] @@ -25614,12 +25676,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "972be214c558b1a5550d34c8c7e55a284f6439cefc51226d6ffbfc152de5cc58" dependencies = [ "criterion", - "hash-db", + "hash-db 0.16.0 (registry+https://github.com/rust-lang/crates.io-index)", "keccak-hasher", - "memory-db", + "memory-db 0.34.0 (registry+https://github.com/rust-lang/crates.io-index)", "parity-scale-codec", - "trie-db", - "trie-root", + "trie-db 0.30.0", + "trie-root 0.18.0 (registry+https://github.com/rust-lang/crates.io-index)", "trie-standardmap", ] @@ -25629,7 +25691,18 @@ version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c0670ab45a6b7002c7df369fee950a27cf29ae0474343fd3a15aa15f691e7a6" dependencies = [ - "hash-db", + "hash-db 0.16.0 (registry+https://github.com/rust-lang/crates.io-index)", + "log", + "rustc-hex", + "smallvec", +] + +[[package]] +name = "trie-db" +version = "0.31.0" +source = "git+https://github.com/paritytech/trie?branch=mku-no-commit-on-drop#6338efa9093d533e06d912565023bf7a33a14060" +dependencies = [ + "hash-db 0.16.0 (git+https://github.com/paritytech/trie?branch=mku-no-commit-on-drop)", "log", "rustc-hex", "smallvec", @@ -25641,7 +25714,15 @@ version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d4ed310ef5ab98f5fa467900ed906cb9232dd5376597e00fd4cba2a449d06c0b" dependencies = [ - "hash-db", + "hash-db 0.16.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "trie-root" +version = "0.18.0" +source = "git+https://github.com/paritytech/trie?branch=mku-no-commit-on-drop#6338efa9093d533e06d912565023bf7a33a14060" +dependencies = [ + "hash-db 0.16.0 (git+https://github.com/paritytech/trie?branch=mku-no-commit-on-drop)", ] [[package]] @@ -25650,7 +25731,7 @@ version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "684aafb332fae6f83d7fe10b3fbfdbe39a1b3234c4e2a618f030815838519516" dependencies = [ - "hash-db", + "hash-db 0.16.0 (registry+https://github.com/rust-lang/crates.io-index)", "keccak-hasher", ] @@ -26427,9 +26508,11 @@ dependencies = [ "bumpalo", "cc", "cfg-if", + "fxprof-processed-profile", "gimli 0.31.1", "hashbrown 0.15.3", "indexmap", + "ittapi", "libc", "log", "mach2", @@ -26442,6 +26525,7 @@ dependencies = [ "rustix 1.0.8", "serde", "serde_derive", + "serde_json", "smallvec", "target-lexicon", "wasmparser", @@ -26450,6 +26534,7 @@ dependencies = [ "wasmtime-internal-cache", "wasmtime-internal-cranelift", "wasmtime-internal-fiber", + "wasmtime-internal-jit-debug", "wasmtime-internal-jit-icache-coherence", "wasmtime-internal-math", "wasmtime-internal-slab", @@ -26556,6 +26641,18 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "wasmtime-internal-jit-debug" +version = "35.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61d8693995ab3df48e88777b6ee3b2f441f2c4f895ab938996cdac3db26f256c" +dependencies = [ + "cc", + "object 0.36.7", + "rustix 1.0.8", + "wasmtime-internal-versioned-export-macros", +] + [[package]] name = "wasmtime-internal-jit-icache-coherence" version = "35.0.0" diff --git a/Cargo.toml b/Cargo.toml index ea58a96bab296..0ee8b8a87b39e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -845,7 +845,9 @@ governor = { version = "0.6.0" } gum = { path = "polkadot/node/gum", default-features = false, package = "tracing-gum" } gum-proc-macro = { path = "polkadot/node/gum/proc-macro", default-features = false, package = "tracing-gum-proc-macro" } handlebars = { version = "5.1.0" } -hash-db = { version = "0.16.0", default-features = false } +hash-db = { version = "0.16.0", default-features = false, git = "https://github.com/paritytech/trie", branch = "mku-no-commit-on-drop" } +# hash-db = { version = "0.16.0", default-features = false, path = "/home/miszka/parity/23-pov-reclaim/trie-upstream/hash-db" } +# hash-db = { version = "0.16.0", default-features = false } hash256-std-hasher = { version = "0.15.2", default-features = false } hashbrown = "0.15.3" hex = { version = "0.4.3", default-features = false } @@ -869,7 +871,7 @@ hyper-rustls = { version = "0.27.3", default-features = false, features = [ hyper-util = { version = "0.1.5", default-features = false } impl-serde = { version = "0.5.0", default-features = false } impl-trait-for-tuples = { version = "0.2.2" } -indexmap = { version = "2.7.1" } +indexmap = { version = "2.7.1", default-features = false } indicatif = { version = "0.17.7" } integer-sqrt = { version = "0.1.2" } ip_network = { version = "0.4.1" } @@ -903,7 +905,9 @@ log = { version = "0.4.22", default-features = false } macro_magic = { version = "0.5.1" } maplit = { version = "1.0.2" } memmap2 = { version = "0.9.3" } -memory-db = { version = "0.34.0", default-features = false } +memory-db = { version = "0.34.0", default-features = false, git = "https://github.com/paritytech/trie", branch = "mku-no-commit-on-drop" } +# memory-db = { version = "0.34.0", default-features = false, path = "/home/miszka/parity/23-pov-reclaim/trie-upstream/memory-db" } +# memory-db = { version = "0.34.0", default-features = false } merkleized-metadata = { version = "0.5.0" } merlin = { version = "3.0", default-features = false } messages-relay = { path = "bridges/relays/messages" } @@ -926,7 +930,7 @@ node-inspect = { path = "substrate/bin/node/inspect", default-features = false, node-primitives = { path = "substrate/bin/node/primitives", default-features = false } node-rpc = { path = "substrate/bin/node/rpc" } node-testing = { path = "substrate/bin/node/testing" } -nohash-hasher = { version = "0.2.0" } +nohash-hasher = { version = "0.2.0", default-features = false } novelpoly = { version = "2.0.0", package = "reed-solomon-novelpoly" } num-bigint = { version = "0.4.3", default-features = false } num-format = { version = "0.4.3" } @@ -1438,8 +1442,12 @@ tracing-log = { version = "0.2.0" } tracing-subscriber = { version = "0.3.18" } tracking-allocator = { path = "polkadot/node/tracking-allocator", default-features = false, package = "staging-tracking-allocator" } trie-bench = { version = "0.42.0" } -trie-db = { version = "0.30.0", default-features = false } -trie-root = { version = "0.18.0", default-features = false } +trie-db = { version = "0.31.0", default-features = false, git = "https://github.com/paritytech/trie", branch = "mku-no-commit-on-drop" } +# trie-db = { version = "0.31.0", default-features = false, path = "/home/miszka/parity/23-pov-reclaim/trie-upstream/trie-db" } +# trie-db = { version = "0.30.0", default-features = false } +trie-root = { version = "0.18.0", default-features = false, git = "https://github.com/paritytech/trie", branch = "mku-no-commit-on-drop" } +# trie-root = { version = "0.18.0", default-features = false, path = "/home/miszka/parity/23-pov-reclaim/trie-upstream/trie-root" } +# trie-root = { version = "0.18.0", default-features = false } trie-standardmap = { version = "0.16.0" } trybuild = { version = "1.0.103" } tt-call = { version = "1.0.8" } @@ -1504,6 +1512,9 @@ debug-assertions = true inherits = "release" overflow-checks = true +[profile.bench] +debug = true + # The list of dependencies below (which can be both direct and indirect dependencies) are crates # that are suspected to be CPU-intensive, and that are unlikely to require debugging (as some of # their debug info might be missing) or to require to be frequently recompiled. We compile these diff --git a/cumulus/pallets/weight-reclaim/src/lib.rs b/cumulus/pallets/weight-reclaim/src/lib.rs index 5252544f50505..252a5c2e9935e 100644 --- a/cumulus/pallets/weight-reclaim/src/lib.rs +++ b/cumulus/pallets/weight-reclaim/src/lib.rs @@ -37,7 +37,9 @@ use frame_support::{ }; use scale_info::TypeInfo; use sp_runtime::{ - traits::{DispatchInfoOf, Dispatchable, Implication, PostDispatchInfoOf, TransactionExtension}, + traits::{ + DispatchInfoOf, Dispatchable, Get, Implication, PostDispatchInfoOf, TransactionExtension, + }, transaction_validity::{TransactionSource, TransactionValidityError, ValidTransaction}, DispatchResult, }; @@ -200,6 +202,10 @@ where return Ok(inner_refund); }; + cumulus_primitives_storage_weight_reclaim::trigger_storage_root_size_estimation( + T::Version::get().state_version() + ); + let Some(proof_size_after_dispatch) = get_proof_size().defensive_proof( "Proof recording enabled during prepare, now disabled. This should not happen.", ) else { diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/cumulus_pallet_parachain_system.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/cumulus_pallet_parachain_system.rs index 28f8aca5f5e7e..ac83c9b82eaeb 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/cumulus_pallet_parachain_system.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/cumulus_pallet_parachain_system.rs @@ -16,9 +16,9 @@ //! Autogenerated weights for `cumulus_pallet_parachain_system` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2025-10-04, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `73b9817d6032`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: @@ -56,6 +56,8 @@ impl cumulus_pallet_parachain_system::WeightInfo for We /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) /// Storage: `MessageQueue::ServiceHead` (r:1 w:1) /// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::LastProcessedDownwardMessage` (r:0 w:1) + /// Proof: `ParachainSystem::LastProcessedDownwardMessage` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// Storage: `ParachainSystem::ProcessedDownwardMessages` (r:0 w:1) /// Proof: `ParachainSystem::ProcessedDownwardMessages` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// Storage: `MessageQueue::Pages` (r:0 w:1000) @@ -63,15 +65,15 @@ impl cumulus_pallet_parachain_system::WeightInfo for We /// The range of component `n` is `[0, 1000]`. fn enqueue_inbound_downward_messages(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `84` + // Measured: `185` // Estimated: `3517` - // Minimum execution time: 2_951_000 picoseconds. - Weight::from_parts(3_065_000, 0) + // Minimum execution time: 3_171_000 picoseconds. + Weight::from_parts(3_242_000, 0) .saturating_add(Weight::from_parts(0, 3517)) - // Standard Error: 63_236 - .saturating_add(Weight::from_parts(354_635_005, 0).saturating_mul(n.into())) + // Standard Error: 27_063 + .saturating_add(Weight::from_parts(261_230_665, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(4)) + .saturating_add(T::DbWeight::get().writes(5)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into()))) } } diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/cumulus_pallet_weight_reclaim.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/cumulus_pallet_weight_reclaim.rs index 1f488651025ef..154621bda2119 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/cumulus_pallet_weight_reclaim.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/cumulus_pallet_weight_reclaim.rs @@ -16,9 +16,9 @@ //! Autogenerated weights for `cumulus_pallet_weight_reclaim` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2025-10-04, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `73b9817d6032`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: @@ -54,8 +54,8 @@ impl cumulus_pallet_weight_reclaim::WeightInfo for Weig // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 3_716_000 picoseconds. - Weight::from_parts(3_980_000, 0) + // Minimum execution time: 11_509_000 picoseconds. + Weight::from_parts(11_986_000, 0) .saturating_add(Weight::from_parts(0, 0)) } } diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/cumulus_pallet_xcmp_queue.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/cumulus_pallet_xcmp_queue.rs index a3e0129468d65..1b6114584a589 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/cumulus_pallet_xcmp_queue.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/cumulus_pallet_xcmp_queue.rs @@ -16,9 +16,9 @@ //! Autogenerated weights for `cumulus_pallet_xcmp_queue` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-05-05, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2025-10-04, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `16d5a52ef0dc`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: @@ -54,10 +54,10 @@ impl cumulus_pallet_xcmp_queue::WeightInfo for WeightIn /// Proof: `XcmpQueue::QueueConfig` (`max_values`: Some(1), `max_size`: Some(12), added: 507, mode: `MaxEncodedLen`) fn set_config_with_u32() -> Weight { // Proof Size summary in bytes: - // Measured: `109` + // Measured: `175` // Estimated: `1497` - // Minimum execution time: 4_883_000 picoseconds. - Weight::from_parts(5_223_000, 0) + // Minimum execution time: 5_716_000 picoseconds. + Weight::from_parts(6_217_000, 0) .saturating_add(Weight::from_parts(0, 1497)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -75,13 +75,13 @@ impl cumulus_pallet_xcmp_queue::WeightInfo for WeightIn /// The range of component `n` is `[0, 105467]`. fn enqueue_n_bytes_xcmp_message(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `151` + // Measured: `251` // Estimated: `5487` - // Minimum execution time: 13_840_000 picoseconds. - Weight::from_parts(8_982_973, 0) + // Minimum execution time: 15_506_000 picoseconds. + Weight::from_parts(11_249_686, 0) .saturating_add(Weight::from_parts(0, 5487)) - // Standard Error: 6 - .saturating_add(Weight::from_parts(995, 0).saturating_mul(n.into())) + // Standard Error: 8 + .saturating_add(Weight::from_parts(1_072, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -98,13 +98,13 @@ impl cumulus_pallet_xcmp_queue::WeightInfo for WeightIn /// The range of component `n` is `[0, 1000]`. fn enqueue_n_empty_xcmp_messages(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `151` + // Measured: `251` // Estimated: `5487` - // Minimum execution time: 12_129_000 picoseconds. - Weight::from_parts(15_937_292, 0) + // Minimum execution time: 13_627_000 picoseconds. + Weight::from_parts(18_011_943, 0) .saturating_add(Weight::from_parts(0, 5487)) - // Standard Error: 225 - .saturating_add(Weight::from_parts(115_324, 0).saturating_mul(n.into())) + // Standard Error: 244 + .saturating_add(Weight::from_parts(146_545, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -119,13 +119,13 @@ impl cumulus_pallet_xcmp_queue::WeightInfo for WeightIn /// The range of component `n` is `[0, 105457]`. fn enqueue_empty_xcmp_message_at(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `334 + n * (1 ±0)` + // Measured: `434 + n * (1 ±0)` // Estimated: `108986` - // Minimum execution time: 20_484_000 picoseconds. - Weight::from_parts(20_648_000, 0) + // Minimum execution time: 25_196_000 picoseconds. + Weight::from_parts(16_189_873, 0) .saturating_add(Weight::from_parts(0, 108986)) - // Standard Error: 11 - .saturating_add(Weight::from_parts(2_365, 0).saturating_mul(n.into())) + // Standard Error: 14 + .saturating_add(Weight::from_parts(2_349, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -142,13 +142,13 @@ impl cumulus_pallet_xcmp_queue::WeightInfo for WeightIn /// The range of component `n` is `[0, 100]`. fn enqueue_n_full_pages(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `186` + // Measured: `286` // Estimated: `5487` - // Minimum execution time: 12_963_000 picoseconds. - Weight::from_parts(13_277_000, 0) + // Minimum execution time: 14_448_000 picoseconds. + Weight::from_parts(14_785_000, 0) .saturating_add(Weight::from_parts(0, 5487)) - // Standard Error: 63_306 - .saturating_add(Weight::from_parts(104_765_134, 0).saturating_mul(n.into())) + // Standard Error: 84_583 + .saturating_add(Weight::from_parts(99_569_970, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(2)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into()))) @@ -163,10 +163,10 @@ impl cumulus_pallet_xcmp_queue::WeightInfo for WeightIn /// Proof: `XcmpQueue::InboundXcmpSuspended` (`max_values`: Some(1), `max_size`: Some(4002), added: 4497, mode: `MaxEncodedLen`) fn enqueue_1000_small_xcmp_messages() -> Weight { // Proof Size summary in bytes: - // Measured: `53067` + // Measured: `53167` // Estimated: `108986` - // Minimum execution time: 255_661_000 picoseconds. - Weight::from_parts(264_825_000, 0) + // Minimum execution time: 289_687_000 picoseconds. + Weight::from_parts(297_670_000, 0) .saturating_add(Weight::from_parts(0, 108986)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(2)) @@ -175,10 +175,10 @@ impl cumulus_pallet_xcmp_queue::WeightInfo for WeightIn /// Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`) fn suspend_channel() -> Weight { // Proof Size summary in bytes: - // Measured: `109` + // Measured: `175` // Estimated: `2767` - // Minimum execution time: 3_092_000 picoseconds. - Weight::from_parts(3_339_000, 0) + // Minimum execution time: 3_535_000 picoseconds. + Weight::from_parts(3_826_000, 0) .saturating_add(Weight::from_parts(0, 2767)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -187,10 +187,10 @@ impl cumulus_pallet_xcmp_queue::WeightInfo for WeightIn /// Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`) fn resume_channel() -> Weight { // Proof Size summary in bytes: - // Measured: `144` + // Measured: `210` // Estimated: `2767` - // Minimum execution time: 4_352_000 picoseconds. - Weight::from_parts(4_577_000, 0) + // Minimum execution time: 4_884_000 picoseconds. + Weight::from_parts(5_116_000, 0) .saturating_add(Weight::from_parts(0, 2767)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -199,8 +199,8 @@ impl cumulus_pallet_xcmp_queue::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 5_050_000 picoseconds. - Weight::from_parts(5_270_000, 0) + // Minimum execution time: 5_359_000 picoseconds. + Weight::from_parts(5_556_000, 0) .saturating_add(Weight::from_parts(0, 0)) } /// Storage: UNKNOWN KEY `0x7b3237373ffdfeb1cab4222e3b520d6b345d8e88afa015075c945637c07e8f20` (r:1 w:1) @@ -219,11 +219,11 @@ impl cumulus_pallet_xcmp_queue::WeightInfo for WeightIn /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(105521), added: 107996, mode: `MaxEncodedLen`) fn on_idle_good_msg() -> Weight { // Proof Size summary in bytes: - // Measured: `105716` - // Estimated: `109181` - // Minimum execution time: 210_820_000 picoseconds. - Weight::from_parts(221_925_000, 0) - .saturating_add(Weight::from_parts(0, 109181)) + // Measured: `105816` + // Estimated: `109281` + // Minimum execution time: 193_723_000 picoseconds. + Weight::from_parts(199_164_000, 0) + .saturating_add(Weight::from_parts(0, 109281)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(5)) } @@ -243,11 +243,11 @@ impl cumulus_pallet_xcmp_queue::WeightInfo for WeightIn /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(105521), added: 107996, mode: `MaxEncodedLen`) fn on_idle_large_msg() -> Weight { // Proof Size summary in bytes: - // Measured: `65785` - // Estimated: `69250` - // Minimum execution time: 127_555_000 picoseconds. - Weight::from_parts(130_147_000, 0) - .saturating_add(Weight::from_parts(0, 69250)) + // Measured: `65885` + // Estimated: `69350` + // Minimum execution time: 129_728_000 picoseconds. + Weight::from_parts(135_579_000, 0) + .saturating_add(Weight::from_parts(0, 69350)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(5)) } diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/frame_system.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/frame_system.rs index 6879d4b3c80f4..2fb3cdf1671d8 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/frame_system.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/frame_system.rs @@ -16,9 +16,9 @@ //! Autogenerated weights for `frame_system` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2025-10-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `73b9817d6032`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: @@ -55,22 +55,22 @@ impl frame_system::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_956_000 picoseconds. - Weight::from_parts(2_093_000, 0) + // Minimum execution time: 2_322_000 picoseconds. + Weight::from_parts(7_792_131, 0) .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 127 - .saturating_add(Weight::from_parts(11_082, 0).saturating_mul(b.into())) + // Standard Error: 3 + .saturating_add(Weight::from_parts(529, 0).saturating_mul(b.into())) } /// The range of component `b` is `[0, 3932160]`. fn remark_with_event(b: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 5_644_000 picoseconds. - Weight::from_parts(5_772_000, 0) + // Minimum execution time: 6_734_000 picoseconds. + Weight::from_parts(6_986_000, 0) .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 128 - .saturating_add(Weight::from_parts(12_641, 0).saturating_mul(b.into())) + // Standard Error: 4 + .saturating_add(Weight::from_parts(2_086, 0).saturating_mul(b.into())) } /// Storage: UNKNOWN KEY `0x3a686561707061676573` (r:0 w:1) /// Proof: UNKNOWN KEY `0x3a686561707061676573` (r:0 w:1) @@ -78,8 +78,8 @@ impl frame_system::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 3_376_000 picoseconds. - Weight::from_parts(3_607_000, 0) + // Minimum execution time: 4_028_000 picoseconds. + Weight::from_parts(4_367_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -99,10 +99,10 @@ impl frame_system::WeightInfo for WeightInfo { /// Proof: `ParachainSystem::DidSetValidationCode` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) fn set_code() -> Weight { // Proof Size summary in bytes: - // Measured: `206` + // Measured: `340` // Estimated: `67035` - // Minimum execution time: 178_012_099_000 picoseconds. - Weight::from_parts(180_176_735_000, 0) + // Minimum execution time: 105_909_994_000 picoseconds. + Weight::from_parts(108_654_644_000, 0) .saturating_add(Weight::from_parts(0, 67035)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(3)) @@ -114,11 +114,11 @@ impl frame_system::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 2_054_000 picoseconds. - Weight::from_parts(2_147_000, 0) + // Minimum execution time: 2_368_000 picoseconds. + Weight::from_parts(2_474_000, 0) .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 2_032 - .saturating_add(Weight::from_parts(726_380, 0).saturating_mul(i.into())) + // Standard Error: 4_104 + .saturating_add(Weight::from_parts(999_163, 0).saturating_mul(i.into())) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(i.into()))) } /// Storage: `Skipped::Metadata` (r:0 w:0) @@ -128,11 +128,11 @@ impl frame_system::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 2_081_000 picoseconds. - Weight::from_parts(2_175_000, 0) + // Minimum execution time: 2_455_000 picoseconds. + Weight::from_parts(2_564_000, 0) .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 925 - .saturating_add(Weight::from_parts(558_740, 0).saturating_mul(i.into())) + // Standard Error: 1_758 + .saturating_add(Weight::from_parts(767_565, 0).saturating_mul(i.into())) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(i.into()))) } /// Storage: `Skipped::Metadata` (r:0 w:0) @@ -140,13 +140,13 @@ impl frame_system::WeightInfo for WeightInfo { /// The range of component `p` is `[0, 1000]`. fn kill_prefix(p: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `93 + p * (69 ±0)` - // Estimated: `102 + p * (70 ±0)` - // Minimum execution time: 4_148_000 picoseconds. - Weight::from_parts(4_340_000, 0) - .saturating_add(Weight::from_parts(0, 102)) - // Standard Error: 1_413 - .saturating_add(Weight::from_parts(1_317_829, 0).saturating_mul(p.into())) + // Measured: `129 + p * (69 ±0)` + // Estimated: `133 + p * (70 ±0)` + // Minimum execution time: 4_902_000 picoseconds. + Weight::from_parts(5_066_000, 0) + .saturating_add(Weight::from_parts(0, 133)) + // Standard Error: 4_365 + .saturating_add(Weight::from_parts(1_787_907, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(p.into()))) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(p.into()))) .saturating_add(Weight::from_parts(0, 70).saturating_mul(p.into())) @@ -157,8 +157,8 @@ impl frame_system::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 11_605_000 picoseconds. - Weight::from_parts(13_028_000, 0) + // Minimum execution time: 20_261_000 picoseconds. + Weight::from_parts(21_506_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -180,10 +180,10 @@ impl frame_system::WeightInfo for WeightInfo { /// Proof: `ParachainSystem::DidSetValidationCode` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) fn apply_authorized_upgrade() -> Weight { // Proof Size summary in bytes: - // Measured: `228` + // Measured: `362` // Estimated: `67035` - // Minimum execution time: 183_432_684_000 picoseconds. - Weight::from_parts(185_161_023_000, 0) + // Minimum execution time: 110_587_983_000 picoseconds. + Weight::from_parts(112_792_861_000, 0) .saturating_add(Weight::from_parts(0, 67035)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(4)) diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/frame_system_extensions.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/frame_system_extensions.rs index 82dbf0f08c371..b8dec2fe641ea 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/frame_system_extensions.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/frame_system_extensions.rs @@ -16,9 +16,9 @@ //! Autogenerated weights for `frame_system_extensions` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2025-10-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `73b9817d6032`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: @@ -54,42 +54,42 @@ impl frame_system::ExtensionsWeightInfo for WeightInfo< // Proof Size summary in bytes: // Measured: `30` // Estimated: `0` - // Minimum execution time: 3_264_000 picoseconds. - Weight::from_parts(3_487_000, 0) + // Minimum execution time: 3_550_000 picoseconds. + Weight::from_parts(3_775_000, 0) .saturating_add(Weight::from_parts(0, 0)) } fn check_mortality_mortal_transaction() -> Weight { // Proof Size summary in bytes: // Measured: `68` // Estimated: `0` - // Minimum execution time: 6_152_000 picoseconds. - Weight::from_parts(6_489_000, 0) + // Minimum execution time: 6_588_000 picoseconds. + Weight::from_parts(6_909_000, 0) .saturating_add(Weight::from_parts(0, 0)) } fn check_mortality_immortal_transaction() -> Weight { // Proof Size summary in bytes: // Measured: `68` // Estimated: `0` - // Minimum execution time: 6_282_000 picoseconds. - Weight::from_parts(6_443_000, 0) + // Minimum execution time: 6_743_000 picoseconds. + Weight::from_parts(7_110_000, 0) .saturating_add(Weight::from_parts(0, 0)) } fn check_non_zero_sender() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 495_000 picoseconds. - Weight::from_parts(572_000, 0) + // Minimum execution time: 658_000 picoseconds. + Weight::from_parts(742_000, 0) .saturating_add(Weight::from_parts(0, 0)) } /// Storage: `System::Account` (r:1 w:1) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn check_nonce() -> Weight { // Proof Size summary in bytes: - // Measured: `101` + // Measured: `839` // Estimated: `3593` - // Minimum execution time: 6_856_000 picoseconds. - Weight::from_parts(7_212_000, 0) + // Minimum execution time: 11_317_000 picoseconds. + Weight::from_parts(11_738_000, 0) .saturating_add(Weight::from_parts(0, 3593)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -98,32 +98,32 @@ impl frame_system::ExtensionsWeightInfo for WeightInfo< // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 395_000 picoseconds. - Weight::from_parts(483_000, 0) + // Minimum execution time: 491_000 picoseconds. + Weight::from_parts(568_000, 0) .saturating_add(Weight::from_parts(0, 0)) } fn check_tx_version() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 395_000 picoseconds. - Weight::from_parts(443_000, 0) + // Minimum execution time: 535_000 picoseconds. + Weight::from_parts(601_000, 0) .saturating_add(Weight::from_parts(0, 0)) } fn check_weight() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 3_938_000 picoseconds. - Weight::from_parts(4_088_000, 0) + // Minimum execution time: 4_398_000 picoseconds. + Weight::from_parts(4_569_000, 0) .saturating_add(Weight::from_parts(0, 0)) } fn weight_reclaim() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 2_189_000 picoseconds. - Weight::from_parts(2_372_000, 0) + // Minimum execution time: 2_500_000 picoseconds. + Weight::from_parts(2_729_000, 0) .saturating_add(Weight::from_parts(0, 0)) } } diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_asset_conversion.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_asset_conversion.rs index d52c85c6c24d3..34a785513478d 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_asset_conversion.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_asset_conversion.rs @@ -16,9 +16,9 @@ //! Autogenerated weights for `pallet_asset_conversion` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2025-10-04, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `73b9817d6032`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: @@ -66,10 +66,10 @@ impl pallet_asset_conversion::WeightInfo for WeightInfo /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) fn create_pool() -> Weight { // Proof Size summary in bytes: - // Measured: `365` + // Measured: `1656` // Estimated: `4689` - // Minimum execution time: 59_914_000 picoseconds. - Weight::from_parts(62_246_000, 0) + // Minimum execution time: 75_547_000 picoseconds. + Weight::from_parts(78_234_000, 0) .saturating_add(Weight::from_parts(0, 4689)) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().writes(4)) @@ -90,10 +90,10 @@ impl pallet_asset_conversion::WeightInfo for WeightInfo /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) fn add_liquidity() -> Weight { // Proof Size summary in bytes: - // Measured: `929` + // Measured: `2294` // Estimated: `7404` - // Minimum execution time: 158_776_000 picoseconds. - Weight::from_parts(162_604_000, 0) + // Minimum execution time: 181_841_000 picoseconds. + Weight::from_parts(193_867_000, 0) .saturating_add(Weight::from_parts(0, 7404)) .saturating_add(T::DbWeight::get().reads(9)) .saturating_add(T::DbWeight::get().writes(7)) @@ -116,10 +116,10 @@ impl pallet_asset_conversion::WeightInfo for WeightInfo /// Proof: `PoolAssetsFreezer::FrozenBalances` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) fn remove_liquidity() -> Weight { // Proof Size summary in bytes: - // Measured: `1175` + // Measured: `2526` // Estimated: `7404` - // Minimum execution time: 164_106_000 picoseconds. - Weight::from_parts(167_613_000, 0) + // Minimum execution time: 181_625_000 picoseconds. + Weight::from_parts(186_044_000, 0) .saturating_add(Weight::from_parts(0, 7404)) .saturating_add(T::DbWeight::get().reads(9)) .saturating_add(T::DbWeight::get().writes(6)) @@ -135,13 +135,13 @@ impl pallet_asset_conversion::WeightInfo for WeightInfo /// The range of component `n` is `[2, 3]`. fn swap_exact_tokens_for_tokens(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0 + n * (507 ±0)` - // Estimated: `7404 + n * (3157 ±0)` - // Minimum execution time: 108_139_000 picoseconds. - Weight::from_parts(110_553_000, 0) + // Measured: `0 + n * (1645 ±0)` + // Estimated: `7404 + n * (3157 ±19)` + // Minimum execution time: 121_570_000 picoseconds. + Weight::from_parts(125_045_000, 0) .saturating_add(Weight::from_parts(0, 7404)) - // Standard Error: 211_449 - .saturating_add(Weight::from_parts(1_718_841, 0).saturating_mul(n.into())) + // Standard Error: 255_291 + .saturating_add(Weight::from_parts(2_355_663, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(4)) .saturating_add(Weight::from_parts(0, 3157).saturating_mul(n.into())) @@ -157,13 +157,13 @@ impl pallet_asset_conversion::WeightInfo for WeightInfo /// The range of component `n` is `[2, 3]`. fn swap_tokens_for_exact_tokens(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0 + n * (507 ±0)` - // Estimated: `7404 + n * (3157 ±19)` - // Minimum execution time: 108_674_000 picoseconds. - Weight::from_parts(111_004_000, 0) + // Measured: `0 + n * (1645 ±0)` + // Estimated: `7404 + n * (3157 ±10)` + // Minimum execution time: 122_081_000 picoseconds. + Weight::from_parts(124_956_000, 0) .saturating_add(Weight::from_parts(0, 7404)) - // Standard Error: 229_084 - .saturating_add(Weight::from_parts(1_871_247, 0).saturating_mul(n.into())) + // Standard Error: 246_993 + .saturating_add(Weight::from_parts(2_298_389, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(4)) .saturating_add(Weight::from_parts(0, 3157).saturating_mul(n.into())) @@ -183,13 +183,13 @@ impl pallet_asset_conversion::WeightInfo for WeightInfo /// The range of component `n` is `[0, 3]`. fn touch(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `938` + // Measured: `2229` // Estimated: `4689` - // Minimum execution time: 43_487_000 picoseconds. - Weight::from_parts(49_440_869, 0) + // Minimum execution time: 49_003_000 picoseconds. + Weight::from_parts(56_206_448, 0) .saturating_add(Weight::from_parts(0, 4689)) - // Standard Error: 295_313 - .saturating_add(Weight::from_parts(11_739_824, 0).saturating_mul(n.into())) + // Standard Error: 336_709 + .saturating_add(Weight::from_parts(13_376_048, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into()))) } diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_asset_conversion_ops.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_asset_conversion_ops.rs index 3aefcc740785b..f161396e8c393 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_asset_conversion_ops.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_asset_conversion_ops.rs @@ -16,9 +16,9 @@ //! Autogenerated weights for `pallet_asset_conversion_ops` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2025-10-04, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `73b9817d6032`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: @@ -65,17 +65,17 @@ impl pallet_asset_conversion_ops::WeightInfo for Weight /// Storage: `ForeignAssetsFreezer::FrozenBalances` (r:1 w:1) /// Proof: `ForeignAssetsFreezer::FrozenBalances` (`max_values`: None, `max_size`: Some(682), added: 3157, mode: `MaxEncodedLen`) /// Storage: `ForeignAssetsFreezer::Freezes` (r:1 w:1) - /// Proof: `ForeignAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(685), added: 3160, mode: `MaxEncodedLen`) + /// Proof: `ForeignAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(703), added: 3178, mode: `MaxEncodedLen`) /// Storage: `PoolAssetsFreezer::FrozenBalances` (r:1 w:1) /// Proof: `PoolAssetsFreezer::FrozenBalances` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) /// Storage: `PoolAssetsFreezer::Freezes` (r:1 w:1) - /// Proof: `PoolAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(87), added: 2562, mode: `MaxEncodedLen`) + /// Proof: `PoolAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(105), added: 2580, mode: `MaxEncodedLen`) fn migrate_to_new_account() -> Weight { // Proof Size summary in bytes: - // Measured: `1187` + // Measured: `3645` // Estimated: `7404` - // Minimum execution time: 259_839_000 picoseconds. - Weight::from_parts(265_133_000, 0) + // Minimum execution time: 291_220_000 picoseconds. + Weight::from_parts(303_418_000, 0) .saturating_add(Weight::from_parts(0, 7404)) .saturating_add(T::DbWeight::get().reads(13)) .saturating_add(T::DbWeight::get().writes(12)) diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_asset_conversion_tx_payment.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_asset_conversion_tx_payment.rs index e321ff1f97dd7..1e7170f10972c 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_asset_conversion_tx_payment.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_asset_conversion_tx_payment.rs @@ -16,9 +16,9 @@ //! Autogenerated weights for `pallet_asset_conversion_tx_payment` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2025-10-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `73b9817d6032`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: @@ -54,18 +54,18 @@ impl pallet_asset_conversion_tx_payment::WeightInfo for // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 840_000 picoseconds. - Weight::from_parts(883_000, 0) + // Minimum execution time: 1_043_000 picoseconds. + Weight::from_parts(1_091_000, 0) .saturating_add(Weight::from_parts(0, 0)) } /// Storage: `System::Account` (r:2 w:1) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn charge_asset_tx_payment_native() -> Weight { // Proof Size summary in bytes: - // Measured: `101` + // Measured: `1946` // Estimated: `6196` - // Minimum execution time: 43_941_000 picoseconds. - Weight::from_parts(45_260_000, 0) + // Minimum execution time: 62_302_000 picoseconds. + Weight::from_parts(63_591_000, 0) .saturating_add(Weight::from_parts(0, 6196)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -80,10 +80,10 @@ impl pallet_asset_conversion_tx_payment::WeightInfo for /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn charge_asset_tx_payment_asset() -> Weight { // Proof Size summary in bytes: - // Measured: `547` + // Measured: `2965` // Estimated: `7404` - // Minimum execution time: 188_292_000 picoseconds. - Weight::from_parts(192_405_000, 0) + // Minimum execution time: 225_111_000 picoseconds. + Weight::from_parts(230_862_000, 0) .saturating_add(Weight::from_parts(0, 7404)) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().writes(4)) diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_asset_rate.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_asset_rate.rs index 00183ae5ac0ef..9d3a297d30262 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_asset_rate.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_asset_rate.rs @@ -1,5 +1,4 @@ // Copyright (C) Parity Technologies (UK) Ltd. -// This file is part of Cumulus. // SPDX-License-Identifier: Apache-2.0 // Licensed under the Apache License, Version 2.0 (the "License"); @@ -16,25 +15,29 @@ //! Autogenerated weights for `pallet_asset_rate` //! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2023-07-04, STEPS: `50`, REPEAT: `2`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 +//! DATE: 2025-10-04, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `cob`, CPU: `` -//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: Some("polkadot-dev"), DB CACHE: 1024 +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: -// ./target/debug/polkadot +// frame-omni-bencher +// v1 // benchmark // pallet -// --chain=polkadot-dev -// --steps=50 -// --repeat=2 -// --pallet=pallet_asset_rate // --extrinsic=* +// --runtime=target/production/wbuild/asset-hub-westend-runtime/asset_hub_westend_runtime.wasm +// --pallet=pallet_asset_rate +// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt +// --output=./cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights // --wasm-execution=compiled +// --steps=50 +// --repeat=20 // --heap-pages=4096 -// --output=./runtime/polkadot/src/weights/ -// --header=./file_header.txt +// --no-storage-info +// --no-min-squares +// --no-median-slopes #![cfg_attr(rustfmt, rustfmt_skip)] #![allow(unused_parens)] @@ -47,39 +50,39 @@ use core::marker::PhantomData; /// Weight functions for `pallet_asset_rate`. pub struct WeightInfo(PhantomData); impl pallet_asset_rate::WeightInfo for WeightInfo { - /// Storage: AssetRate ConversionRateToNative (r:1 w:1) - /// Proof: AssetRate ConversionRateToNative (max_values: None, max_size: Some(1237), added: 3712, mode: MaxEncodedLen) + /// Storage: `AssetRate::ConversionRateToNative` (r:1 w:1) + /// Proof: `AssetRate::ConversionRateToNative` (`max_values`: None, `max_size`: Some(1238), added: 3713, mode: `MaxEncodedLen`) fn create() -> Weight { // Proof Size summary in bytes: - // Measured: `42` - // Estimated: `4702` - // Minimum execution time: 67_000_000 picoseconds. - Weight::from_parts(69_000_000, 0) - .saturating_add(Weight::from_parts(0, 4702)) + // Measured: `80` + // Estimated: `4703` + // Minimum execution time: 14_832_000 picoseconds. + Weight::from_parts(15_746_000, 0) + .saturating_add(Weight::from_parts(0, 4703)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } - /// Storage: AssetRate ConversionRateToNative (r:1 w:1) - /// Proof: AssetRate ConversionRateToNative (max_values: None, max_size: Some(1237), added: 3712, mode: MaxEncodedLen) + /// Storage: `AssetRate::ConversionRateToNative` (r:1 w:1) + /// Proof: `AssetRate::ConversionRateToNative` (`max_values`: None, `max_size`: Some(1238), added: 3713, mode: `MaxEncodedLen`) fn update() -> Weight { // Proof Size summary in bytes: - // Measured: `110` - // Estimated: `4702` - // Minimum execution time: 69_000_000 picoseconds. - Weight::from_parts(71_000_000, 0) - .saturating_add(Weight::from_parts(0, 4702)) + // Measured: `148` + // Estimated: `4703` + // Minimum execution time: 15_191_000 picoseconds. + Weight::from_parts(16_314_000, 0) + .saturating_add(Weight::from_parts(0, 4703)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } - /// Storage: AssetRate ConversionRateToNative (r:1 w:1) - /// Proof: AssetRate ConversionRateToNative (max_values: None, max_size: Some(1237), added: 3712, mode: MaxEncodedLen) + /// Storage: `AssetRate::ConversionRateToNative` (r:1 w:1) + /// Proof: `AssetRate::ConversionRateToNative` (`max_values`: None, `max_size`: Some(1238), added: 3713, mode: `MaxEncodedLen`) fn remove() -> Weight { // Proof Size summary in bytes: - // Measured: `110` - // Estimated: `4702` - // Minimum execution time: 70_000_000 picoseconds. - Weight::from_parts(90_000_000, 0) - .saturating_add(Weight::from_parts(0, 4702)) + // Measured: `148` + // Estimated: `4703` + // Minimum execution time: 16_363_000 picoseconds. + Weight::from_parts(17_211_000, 0) + .saturating_add(Weight::from_parts(0, 4703)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_asset_rewards.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_asset_rewards.rs index 4bdf79fdf411f..cff35f8517750 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_asset_rewards.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_asset_rewards.rs @@ -16,9 +16,9 @@ //! Autogenerated weights for `pallet_asset_rewards` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2025-10-04, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `73b9817d6032`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: @@ -57,17 +57,17 @@ impl pallet_asset_rewards::WeightInfo for WeightInfo /// Storage: `System::Account` (r:1 w:1) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) /// Storage: `Balances::Holds` (r:1 w:1) - /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(157), added: 2632, mode: `MaxEncodedLen`) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(265), added: 2740, mode: `MaxEncodedLen`) /// Storage: `AssetRewards::PoolCost` (r:0 w:1) /// Proof: `AssetRewards::PoolCost` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) /// Storage: `AssetRewards::Pools` (r:0 w:1) /// Proof: `AssetRewards::Pools` (`max_values`: None, `max_size`: Some(1344), added: 3819, mode: `MaxEncodedLen`) fn create_pool() -> Weight { // Proof Size summary in bytes: - // Measured: `392` + // Measured: `3219` // Estimated: `6360` - // Minimum execution time: 61_036_000 picoseconds. - Weight::from_parts(62_593_000, 0) + // Minimum execution time: 83_406_000 picoseconds. + Weight::from_parts(86_760_000, 0) .saturating_add(Weight::from_parts(0, 6360)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(5)) @@ -77,17 +77,17 @@ impl pallet_asset_rewards::WeightInfo for WeightInfo /// Storage: `AssetRewards::PoolStakers` (r:1 w:1) /// Proof: `AssetRewards::PoolStakers` (`max_values`: None, `max_size`: Some(116), added: 2591, mode: `MaxEncodedLen`) /// Storage: `AssetsFreezer::Freezes` (r:1 w:1) - /// Proof: `AssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(87), added: 2562, mode: `MaxEncodedLen`) + /// Proof: `AssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(105), added: 2580, mode: `MaxEncodedLen`) /// Storage: `Assets::Account` (r:1 w:0) /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) /// Storage: `AssetsFreezer::FrozenBalances` (r:1 w:1) /// Proof: `AssetsFreezer::FrozenBalances` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) fn stake() -> Weight { // Proof Size summary in bytes: - // Measured: `906` + // Measured: `972` // Estimated: `4809` - // Minimum execution time: 56_336_000 picoseconds. - Weight::from_parts(57_248_000, 0) + // Minimum execution time: 58_874_000 picoseconds. + Weight::from_parts(61_314_000, 0) .saturating_add(Weight::from_parts(0, 4809)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(4)) @@ -97,17 +97,17 @@ impl pallet_asset_rewards::WeightInfo for WeightInfo /// Storage: `AssetRewards::PoolStakers` (r:1 w:1) /// Proof: `AssetRewards::PoolStakers` (`max_values`: None, `max_size`: Some(116), added: 2591, mode: `MaxEncodedLen`) /// Storage: `AssetsFreezer::Freezes` (r:1 w:1) - /// Proof: `AssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(87), added: 2562, mode: `MaxEncodedLen`) + /// Proof: `AssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(105), added: 2580, mode: `MaxEncodedLen`) /// Storage: `Assets::Account` (r:1 w:0) /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) /// Storage: `AssetsFreezer::FrozenBalances` (r:1 w:1) /// Proof: `AssetsFreezer::FrozenBalances` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) fn unstake() -> Weight { // Proof Size summary in bytes: - // Measured: `906` + // Measured: `972` // Estimated: `4809` - // Minimum execution time: 58_008_000 picoseconds. - Weight::from_parts(59_221_000, 0) + // Minimum execution time: 61_584_000 picoseconds. + Weight::from_parts(62_872_000, 0) .saturating_add(Weight::from_parts(0, 4809)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(4)) @@ -124,10 +124,10 @@ impl pallet_asset_rewards::WeightInfo for WeightInfo /// Proof: `AssetsFreezer::FrozenBalances` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) fn harvest_rewards() -> Weight { // Proof Size summary in bytes: - // Measured: `1106` + // Measured: `1172` // Estimated: `6208` - // Minimum execution time: 79_944_000 picoseconds. - Weight::from_parts(81_289_000, 0) + // Minimum execution time: 85_110_000 picoseconds. + Weight::from_parts(88_244_000, 0) .saturating_add(Weight::from_parts(0, 6208)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(4)) @@ -136,10 +136,10 @@ impl pallet_asset_rewards::WeightInfo for WeightInfo /// Proof: `AssetRewards::Pools` (`max_values`: None, `max_size`: Some(1344), added: 3819, mode: `MaxEncodedLen`) fn set_pool_reward_rate_per_block() -> Weight { // Proof Size summary in bytes: - // Measured: `318` + // Measured: `384` // Estimated: `4809` - // Minimum execution time: 17_191_000 picoseconds. - Weight::from_parts(17_489_000, 0) + // Minimum execution time: 21_451_000 picoseconds. + Weight::from_parts(22_799_000, 0) .saturating_add(Weight::from_parts(0, 4809)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -148,10 +148,10 @@ impl pallet_asset_rewards::WeightInfo for WeightInfo /// Proof: `AssetRewards::Pools` (`max_values`: None, `max_size`: Some(1344), added: 3819, mode: `MaxEncodedLen`) fn set_pool_admin() -> Weight { // Proof Size summary in bytes: - // Measured: `318` + // Measured: `384` // Estimated: `4809` - // Minimum execution time: 15_385_000 picoseconds. - Weight::from_parts(15_887_000, 0) + // Minimum execution time: 17_029_000 picoseconds. + Weight::from_parts(18_094_000, 0) .saturating_add(Weight::from_parts(0, 4809)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -160,10 +160,10 @@ impl pallet_asset_rewards::WeightInfo for WeightInfo /// Proof: `AssetRewards::Pools` (`max_values`: None, `max_size`: Some(1344), added: 3819, mode: `MaxEncodedLen`) fn set_pool_expiry_block() -> Weight { // Proof Size summary in bytes: - // Measured: `318` + // Measured: `384` // Estimated: `4809` - // Minimum execution time: 17_928_000 picoseconds. - Weight::from_parts(18_717_000, 0) + // Minimum execution time: 22_529_000 picoseconds. + Weight::from_parts(23_631_000, 0) .saturating_add(Weight::from_parts(0, 4809)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -180,10 +180,10 @@ impl pallet_asset_rewards::WeightInfo for WeightInfo /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn deposit_reward_tokens() -> Weight { // Proof Size summary in bytes: - // Measured: `781` + // Measured: `2020` // Estimated: `6208` - // Minimum execution time: 66_890_000 picoseconds. - Weight::from_parts(68_676_000, 0) + // Minimum execution time: 77_882_000 picoseconds. + Weight::from_parts(79_035_000, 0) .saturating_add(Weight::from_parts(0, 6208)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(4)) @@ -201,17 +201,17 @@ impl pallet_asset_rewards::WeightInfo for WeightInfo /// Storage: `System::Account` (r:2 w:2) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) /// Storage: `AssetsFreezer::Freezes` (r:1 w:1) - /// Proof: `AssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(87), added: 2562, mode: `MaxEncodedLen`) + /// Proof: `AssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(105), added: 2580, mode: `MaxEncodedLen`) /// Storage: `AssetRewards::PoolCost` (r:1 w:1) /// Proof: `AssetRewards::PoolCost` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) /// Storage: `Balances::Holds` (r:1 w:1) - /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(157), added: 2632, mode: `MaxEncodedLen`) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(265), added: 2740, mode: `MaxEncodedLen`) fn cleanup_pool() -> Weight { // Proof Size summary in bytes: - // Measured: `1139` + // Measured: `5186` // Estimated: `6208` - // Minimum execution time: 129_877_000 picoseconds. - Weight::from_parts(133_247_000, 0) + // Minimum execution time: 160_933_000 picoseconds. + Weight::from_parts(164_931_000, 0) .saturating_add(Weight::from_parts(0, 6208)) .saturating_add(T::DbWeight::get().reads(11)) .saturating_add(T::DbWeight::get().writes(10)) diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_assets_foreign.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_assets_foreign.rs index a507422977260..5fb4f2052f823 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_assets_foreign.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_assets_foreign.rs @@ -16,9 +16,9 @@ //! Autogenerated weights for `pallet_assets` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-05-18, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2025-10-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `c47a012f15ca`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: @@ -60,10 +60,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn create() -> Weight { // Proof Size summary in bytes: - // Measured: `176` + // Measured: `1348` // Estimated: `4273` - // Minimum execution time: 30_845_000 picoseconds. - Weight::from_parts(31_476_000, 0) + // Minimum execution time: 40_805_000 picoseconds. + Weight::from_parts(42_489_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(2)) @@ -76,8 +76,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `4` // Estimated: `4273` - // Minimum execution time: 11_187_000 picoseconds. - Weight::from_parts(11_701_000, 0) + // Minimum execution time: 12_756_000 picoseconds. + Weight::from_parts(13_248_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -85,13 +85,13 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Storage: `ForeignAssets::Asset` (r:1 w:1) /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) /// Storage: `ForeignAssetsFreezer::Freezes` (r:1 w:0) - /// Proof: `ForeignAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(685), added: 3160, mode: `MaxEncodedLen`) + /// Proof: `ForeignAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(703), added: 3178, mode: `MaxEncodedLen`) fn start_destroy() -> Weight { // Proof Size summary in bytes: - // Measured: `324` + // Measured: `360` // Estimated: `4273` - // Minimum execution time: 17_073_000 picoseconds. - Weight::from_parts(17_558_000, 0) + // Minimum execution time: 19_708_000 picoseconds. + Weight::from_parts(20_847_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -105,19 +105,19 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Storage: `System::Account` (r:1000 w:1000) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) /// Storage: `ForeignAssetsFreezer::Freezes` (r:1000 w:1000) - /// Proof: `ForeignAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(685), added: 3160, mode: `MaxEncodedLen`) + /// Proof: `ForeignAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(703), added: 3178, mode: `MaxEncodedLen`) /// The range of component `c` is `[0, 1000]`. /// The range of component `c` is `[0, 1000]`. /// The range of component `c` is `[0, 1000]`. fn destroy_accounts(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0 + c * (208 ±0)` + // Measured: `67849 + c * (419 ±0)` // Estimated: `4273 + c * (3207 ±0)` - // Minimum execution time: 15_958_000 picoseconds. - Weight::from_parts(16_230_000, 0) + // Minimum execution time: 17_742_000 picoseconds. + Weight::from_parts(17_920_000, 0) .saturating_add(Weight::from_parts(0, 4273)) - // Standard Error: 41_431 - .saturating_add(Weight::from_parts(28_378_939, 0).saturating_mul(c.into())) + // Standard Error: 50_536 + .saturating_add(Weight::from_parts(36_973_423, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads((4_u64).saturating_mul(c.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -135,11 +135,11 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `413 + a * (86 ±0)` // Estimated: `4273 + a * (3221 ±0)` - // Minimum execution time: 16_607_000 picoseconds. - Weight::from_parts(16_830_000, 0) + // Minimum execution time: 18_603_000 picoseconds. + Weight::from_parts(19_246_000, 0) .saturating_add(Weight::from_parts(0, 4273)) - // Standard Error: 8_249 - .saturating_add(Weight::from_parts(16_576_446, 0).saturating_mul(a.into())) + // Standard Error: 9_432 + .saturating_add(Weight::from_parts(18_820_393, 0).saturating_mul(a.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(a.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -154,8 +154,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `242` // Estimated: `4273` - // Minimum execution time: 13_239_000 picoseconds. - Weight::from_parts(13_810_000, 0) + // Minimum execution time: 15_343_000 picoseconds. + Weight::from_parts(16_165_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -168,8 +168,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `242` // Estimated: `4273` - // Minimum execution time: 23_376_000 picoseconds. - Weight::from_parts(24_247_000, 0) + // Minimum execution time: 26_094_000 picoseconds. + Weight::from_parts(30_198_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -181,13 +181,13 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Storage: `ForeignAssetsFreezer::FrozenBalances` (r:1 w:1) /// Proof: `ForeignAssetsFreezer::FrozenBalances` (`max_values`: None, `max_size`: Some(682), added: 3157, mode: `MaxEncodedLen`) /// Storage: `ForeignAssetsFreezer::Freezes` (r:1 w:1) - /// Proof: `ForeignAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(685), added: 3160, mode: `MaxEncodedLen`) + /// Proof: `ForeignAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(703), added: 3178, mode: `MaxEncodedLen`) fn burn() -> Weight { // Proof Size summary in bytes: - // Measured: `356` + // Measured: `430` // Estimated: `4273` - // Minimum execution time: 48_245_000 picoseconds. - Weight::from_parts(49_442_000, 0) + // Minimum execution time: 57_064_000 picoseconds. + Weight::from_parts(58_658_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(4)) @@ -201,13 +201,13 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Storage: `System::Account` (r:1 w:1) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) /// Storage: `ForeignAssetsFreezer::Freezes` (r:1 w:1) - /// Proof: `ForeignAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(685), added: 3160, mode: `MaxEncodedLen`) + /// Proof: `ForeignAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(703), added: 3178, mode: `MaxEncodedLen`) fn transfer() -> Weight { // Proof Size summary in bytes: - // Measured: `356` + // Measured: `1719` // Estimated: `7404` - // Minimum execution time: 60_321_000 picoseconds. - Weight::from_parts(61_984_000, 0) + // Minimum execution time: 76_259_000 picoseconds. + Weight::from_parts(79_658_000, 0) .saturating_add(Weight::from_parts(0, 7404)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(6)) @@ -222,10 +222,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn transfer_keep_alive() -> Weight { // Proof Size summary in bytes: - // Measured: `356` + // Measured: `1719` // Estimated: `7404` - // Minimum execution time: 45_691_000 picoseconds. - Weight::from_parts(46_756_000, 0) + // Minimum execution time: 60_370_000 picoseconds. + Weight::from_parts(62_781_000, 0) .saturating_add(Weight::from_parts(0, 7404)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(4)) @@ -239,13 +239,13 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Storage: `System::Account` (r:1 w:1) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) /// Storage: `ForeignAssetsFreezer::Freezes` (r:1 w:1) - /// Proof: `ForeignAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(685), added: 3160, mode: `MaxEncodedLen`) + /// Proof: `ForeignAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(703), added: 3178, mode: `MaxEncodedLen`) fn force_transfer() -> Weight { // Proof Size summary in bytes: - // Measured: `356` + // Measured: `1719` // Estimated: `7404` - // Minimum execution time: 61_133_000 picoseconds. - Weight::from_parts(62_538_000, 0) + // Minimum execution time: 77_290_000 picoseconds. + Weight::from_parts(79_706_000, 0) .saturating_add(Weight::from_parts(0, 7404)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(6)) @@ -258,8 +258,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `350` // Estimated: `4273` - // Minimum execution time: 16_683_000 picoseconds. - Weight::from_parts(17_324_000, 0) + // Minimum execution time: 20_500_000 picoseconds. + Weight::from_parts(21_377_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -272,8 +272,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `350` // Estimated: `4273` - // Minimum execution time: 16_213_000 picoseconds. - Weight::from_parts(17_375_000, 0) + // Minimum execution time: 20_643_000 picoseconds. + Weight::from_parts(21_413_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -284,8 +284,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `276` // Estimated: `4273` - // Minimum execution time: 11_888_000 picoseconds. - Weight::from_parts(12_347_000, 0) + // Minimum execution time: 13_382_000 picoseconds. + Weight::from_parts(14_249_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -296,8 +296,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `276` // Estimated: `4273` - // Minimum execution time: 11_827_000 picoseconds. - Weight::from_parts(12_358_000, 0) + // Minimum execution time: 13_199_000 picoseconds. + Weight::from_parts(14_055_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -310,8 +310,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `242` // Estimated: `4273` - // Minimum execution time: 13_607_000 picoseconds. - Weight::from_parts(14_130_000, 0) + // Minimum execution time: 15_752_000 picoseconds. + Weight::from_parts(16_402_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -322,8 +322,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `242` // Estimated: `4273` - // Minimum execution time: 11_744_000 picoseconds. - Weight::from_parts(12_012_000, 0) + // Minimum execution time: 13_182_000 picoseconds. + Weight::from_parts(13_936_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -338,17 +338,15 @@ impl pallet_assets::WeightInfo for WeightInfo { /// The range of component `s` is `[0, 50]`. /// The range of component `n` is `[0, 50]`. /// The range of component `s` is `[0, 50]`. - fn set_metadata(n: u32, s: u32, ) -> Weight { + fn set_metadata(n: u32, _s: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `242` // Estimated: `4273` - // Minimum execution time: 27_696_000 picoseconds. - Weight::from_parts(28_935_866, 0) + // Minimum execution time: 31_066_000 picoseconds. + Weight::from_parts(32_912_934, 0) .saturating_add(Weight::from_parts(0, 4273)) - // Standard Error: 1_512 - .saturating_add(Weight::from_parts(1_552, 0).saturating_mul(n.into())) - // Standard Error: 1_512 - .saturating_add(Weight::from_parts(5_379, 0).saturating_mul(s.into())) + // Standard Error: 1_413 + .saturating_add(Weight::from_parts(4_250, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -360,8 +358,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `406` // Estimated: `4273` - // Minimum execution time: 27_908_000 picoseconds. - Weight::from_parts(28_871_000, 0) + // Minimum execution time: 33_584_000 picoseconds. + Weight::from_parts(34_819_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -376,17 +374,15 @@ impl pallet_assets::WeightInfo for WeightInfo { /// The range of component `s` is `[0, 50]`. /// The range of component `n` is `[0, 50]`. /// The range of component `s` is `[0, 50]`. - fn force_set_metadata(n: u32, s: u32, ) -> Weight { + fn force_set_metadata(_n: u32, s: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `81` // Estimated: `4273` - // Minimum execution time: 12_021_000 picoseconds. - Weight::from_parts(12_717_451, 0) + // Minimum execution time: 14_020_000 picoseconds. + Weight::from_parts(14_913_639, 0) .saturating_add(Weight::from_parts(0, 4273)) - // Standard Error: 357 - .saturating_add(Weight::from_parts(1_478, 0).saturating_mul(n.into())) - // Standard Error: 357 - .saturating_add(Weight::from_parts(1_237, 0).saturating_mul(s.into())) + // Standard Error: 672 + .saturating_add(Weight::from_parts(955, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -398,8 +394,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `406` // Estimated: `4273` - // Minimum execution time: 27_025_000 picoseconds. - Weight::from_parts(28_182_000, 0) + // Minimum execution time: 32_395_000 picoseconds. + Weight::from_parts(33_508_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -410,8 +406,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `242` // Estimated: `4273` - // Minimum execution time: 10_973_000 picoseconds. - Weight::from_parts(11_522_000, 0) + // Minimum execution time: 12_385_000 picoseconds. + Weight::from_parts(13_073_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -424,8 +420,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `276` // Estimated: `4273` - // Minimum execution time: 31_873_000 picoseconds. - Weight::from_parts(32_908_000, 0) + // Minimum execution time: 35_183_000 picoseconds. + Weight::from_parts(36_828_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -441,13 +437,13 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Storage: `System::Account` (r:1 w:1) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) /// Storage: `ForeignAssetsFreezer::Freezes` (r:1 w:1) - /// Proof: `ForeignAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(685), added: 3160, mode: `MaxEncodedLen`) + /// Proof: `ForeignAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(703), added: 3178, mode: `MaxEncodedLen`) fn transfer_approved() -> Weight { // Proof Size summary in bytes: - // Measured: `526` + // Measured: `1790` // Estimated: `7404` - // Minimum execution time: 83_300_000 picoseconds. - Weight::from_parts(85_969_000, 0) + // Minimum execution time: 104_014_000 picoseconds. + Weight::from_parts(106_867_000, 0) .saturating_add(Weight::from_parts(0, 7404)) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().writes(7)) @@ -460,8 +456,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `446` // Estimated: `4273` - // Minimum execution time: 33_826_000 picoseconds. - Weight::from_parts(34_740_000, 0) + // Minimum execution time: 39_858_000 picoseconds. + Weight::from_parts(41_386_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -474,8 +470,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `446` // Estimated: `4273` - // Minimum execution time: 33_361_000 picoseconds. - Weight::from_parts(34_518_000, 0) + // Minimum execution time: 39_238_000 picoseconds. + Weight::from_parts(40_261_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -486,8 +482,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `242` // Estimated: `4273` - // Minimum execution time: 12_297_000 picoseconds. - Weight::from_parts(12_693_000, 0) + // Minimum execution time: 13_918_000 picoseconds. + Weight::from_parts(14_613_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -500,10 +496,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn touch() -> Weight { // Proof Size summary in bytes: - // Measured: `345` + // Measured: `1549` // Estimated: `4273` - // Minimum execution time: 33_281_000 picoseconds. - Weight::from_parts(34_312_000, 0) + // Minimum execution time: 43_013_000 picoseconds. + Weight::from_parts(45_133_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) @@ -516,8 +512,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `242` // Estimated: `4273` - // Minimum execution time: 31_275_000 picoseconds. - Weight::from_parts(32_435_000, 0) + // Minimum execution time: 34_914_000 picoseconds. + Weight::from_parts(36_257_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -531,13 +527,13 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Storage: `System::Account` (r:1 w:1) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) /// Storage: `ForeignAssetsFreezer::Freezes` (r:1 w:1) - /// Proof: `ForeignAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(685), added: 3160, mode: `MaxEncodedLen`) + /// Proof: `ForeignAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(703), added: 3178, mode: `MaxEncodedLen`) fn refund() -> Weight { // Proof Size summary in bytes: - // Measured: `477` + // Measured: `1755` // Estimated: `4273` - // Minimum execution time: 43_974_000 picoseconds. - Weight::from_parts(44_843_000, 0) + // Minimum execution time: 56_011_000 picoseconds. + Weight::from_parts(58_061_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(5)) @@ -549,13 +545,13 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Storage: `ForeignAssetsFreezer::FrozenBalances` (r:1 w:1) /// Proof: `ForeignAssetsFreezer::FrozenBalances` (`max_values`: None, `max_size`: Some(682), added: 3157, mode: `MaxEncodedLen`) /// Storage: `ForeignAssetsFreezer::Freezes` (r:1 w:1) - /// Proof: `ForeignAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(685), added: 3160, mode: `MaxEncodedLen`) + /// Proof: `ForeignAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(703), added: 3178, mode: `MaxEncodedLen`) fn refund_other() -> Weight { // Proof Size summary in bytes: - // Measured: `407` + // Measured: `481` // Estimated: `4273` - // Minimum execution time: 42_604_000 picoseconds. - Weight::from_parts(43_385_000, 0) + // Minimum execution time: 51_300_000 picoseconds. + Weight::from_parts(52_831_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(4)) @@ -568,8 +564,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `350` // Estimated: `4273` - // Minimum execution time: 16_456_000 picoseconds. - Weight::from_parts(17_099_000, 0) + // Minimum execution time: 20_669_000 picoseconds. + Weight::from_parts(21_668_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -581,15 +577,15 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Storage: `ForeignAssetsFreezer::FrozenBalances` (r:1 w:1) /// Proof: `ForeignAssetsFreezer::FrozenBalances` (`max_values`: None, `max_size`: Some(682), added: 3157, mode: `MaxEncodedLen`) /// Storage: `ForeignAssetsFreezer::Freezes` (r:1 w:1) - /// Proof: `ForeignAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(685), added: 3160, mode: `MaxEncodedLen`) + /// Proof: `ForeignAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(703), added: 3178, mode: `MaxEncodedLen`) /// Storage: `System::Account` (r:1 w:1) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn transfer_all() -> Weight { // Proof Size summary in bytes: - // Measured: `356` + // Measured: `1719` // Estimated: `7404` - // Minimum execution time: 74_954_000 picoseconds. - Weight::from_parts(76_564_000, 0) + // Minimum execution time: 94_585_000 picoseconds. + Weight::from_parts(97_754_000, 0) .saturating_add(Weight::from_parts(0, 7404)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(6)) @@ -600,8 +596,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `276` // Estimated: `4273` - // Minimum execution time: 5_493_000 picoseconds. - Weight::from_parts(5_775_000, 0) + // Minimum execution time: 5_832_000 picoseconds. + Weight::from_parts(6_213_000, 0) .saturating_add(Weight::from_parts(0, 4273)) .saturating_add(T::DbWeight::get().reads(1)) } @@ -611,8 +607,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `150` // Estimated: `4197` - // Minimum execution time: 6_455_000 picoseconds. - Weight::from_parts(6_750_000, 0) + // Minimum execution time: 6_813_000 picoseconds. + Weight::from_parts(7_143_000, 0) .saturating_add(Weight::from_parts(0, 4197)) .saturating_add(T::DbWeight::get().reads(1)) } @@ -622,8 +618,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `245` // Estimated: `4211` - // Minimum execution time: 8_796_000 picoseconds. - Weight::from_parts(9_236_000, 0) + // Minimum execution time: 9_335_000 picoseconds. + Weight::from_parts(9_915_000, 0) .saturating_add(Weight::from_parts(0, 4211)) .saturating_add(T::DbWeight::get().reads(1)) } diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_assets_local.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_assets_local.rs index c5c81a051c9cb..2ec228bedb353 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_assets_local.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_assets_local.rs @@ -16,9 +16,9 @@ //! Autogenerated weights for `pallet_assets` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-05-18, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2025-10-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `c47a012f15ca`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: @@ -58,10 +58,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn create() -> Weight { // Proof Size summary in bytes: - // Measured: `179` + // Measured: `1317` // Estimated: `3675` - // Minimum execution time: 27_345_000 picoseconds. - Weight::from_parts(28_052_000, 0) + // Minimum execution time: 37_366_000 picoseconds. + Weight::from_parts(38_549_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) @@ -74,8 +74,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `76` // Estimated: `3675` - // Minimum execution time: 11_316_000 picoseconds. - Weight::from_parts(11_738_000, 0) + // Minimum execution time: 13_459_000 picoseconds. + Weight::from_parts(14_038_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -83,13 +83,13 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Storage: `Assets::Asset` (r:1 w:1) /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) /// Storage: `AssetsFreezer::Freezes` (r:1 w:0) - /// Proof: `AssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(87), added: 2562, mode: `MaxEncodedLen`) + /// Proof: `AssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(105), added: 2580, mode: `MaxEncodedLen`) fn start_destroy() -> Weight { // Proof Size summary in bytes: - // Measured: `358` + // Measured: `394` // Estimated: `3675` - // Minimum execution time: 16_120_000 picoseconds. - Weight::from_parts(16_917_000, 0) + // Minimum execution time: 20_931_000 picoseconds. + Weight::from_parts(21_981_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -103,19 +103,19 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Storage: `System::Account` (r:1000 w:1000) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) /// Storage: `AssetsFreezer::Freezes` (r:1000 w:1000) - /// Proof: `AssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(87), added: 2562, mode: `MaxEncodedLen`) + /// Proof: `AssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(105), added: 2580, mode: `MaxEncodedLen`) /// The range of component `c` is `[0, 1000]`. /// The range of component `c` is `[0, 1000]`. /// The range of component `c` is `[0, 1000]`. fn destroy_accounts(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0 + c * (208 ±0)` + // Measured: `67845 + c * (419 ±0)` // Estimated: `3675 + c * (2609 ±0)` - // Minimum execution time: 15_510_000 picoseconds. - Weight::from_parts(16_008_000, 0) + // Minimum execution time: 17_823_000 picoseconds. + Weight::from_parts(18_111_000, 0) .saturating_add(Weight::from_parts(0, 3675)) - // Standard Error: 44_611 - .saturating_add(Weight::from_parts(27_430_638, 0).saturating_mul(c.into())) + // Standard Error: 40_979 + .saturating_add(Weight::from_parts(36_282_453, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads((4_u64).saturating_mul(c.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -133,11 +133,11 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `485 + a * (86 ±0)` // Estimated: `3675 + a * (2623 ±0)` - // Minimum execution time: 16_281_000 picoseconds. - Weight::from_parts(16_941_000, 0) + // Minimum execution time: 21_550_000 picoseconds. + Weight::from_parts(22_360_000, 0) .saturating_add(Weight::from_parts(0, 3675)) - // Standard Error: 12_278 - .saturating_add(Weight::from_parts(16_641_458, 0).saturating_mul(a.into())) + // Standard Error: 11_896 + .saturating_add(Weight::from_parts(18_948_886, 0).saturating_mul(a.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(a.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -152,8 +152,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `314` // Estimated: `3675` - // Minimum execution time: 13_250_000 picoseconds. - Weight::from_parts(13_714_000, 0) + // Minimum execution time: 15_123_000 picoseconds. + Weight::from_parts(15_647_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -166,8 +166,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `314` // Estimated: `3675` - // Minimum execution time: 23_015_000 picoseconds. - Weight::from_parts(23_984_000, 0) + // Minimum execution time: 25_857_000 picoseconds. + Weight::from_parts(27_070_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -179,13 +179,13 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Storage: `AssetsFreezer::FrozenBalances` (r:1 w:1) /// Proof: `AssetsFreezer::FrozenBalances` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) /// Storage: `AssetsFreezer::Freezes` (r:1 w:1) - /// Proof: `AssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(87), added: 2562, mode: `MaxEncodedLen`) + /// Proof: `AssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(105), added: 2580, mode: `MaxEncodedLen`) fn burn() -> Weight { // Proof Size summary in bytes: // Measured: `426` // Estimated: `3675` - // Minimum execution time: 46_060_000 picoseconds. - Weight::from_parts(47_290_000, 0) + // Minimum execution time: 52_812_000 picoseconds. + Weight::from_parts(54_630_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(4)) @@ -199,13 +199,13 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Storage: `System::Account` (r:1 w:1) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) /// Storage: `AssetsFreezer::Freezes` (r:1 w:1) - /// Proof: `AssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(87), added: 2562, mode: `MaxEncodedLen`) + /// Proof: `AssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(105), added: 2580, mode: `MaxEncodedLen`) fn transfer() -> Weight { // Proof Size summary in bytes: - // Measured: `426` + // Measured: `1715` // Estimated: `6208` - // Minimum execution time: 58_298_000 picoseconds. - Weight::from_parts(59_602_000, 0) + // Minimum execution time: 71_079_000 picoseconds. + Weight::from_parts(72_962_000, 0) .saturating_add(Weight::from_parts(0, 6208)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(6)) @@ -220,10 +220,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn transfer_keep_alive() -> Weight { // Proof Size summary in bytes: - // Measured: `426` + // Measured: `1715` // Estimated: `6208` - // Minimum execution time: 44_043_000 picoseconds. - Weight::from_parts(45_167_000, 0) + // Minimum execution time: 56_693_000 picoseconds. + Weight::from_parts(58_769_000, 0) .saturating_add(Weight::from_parts(0, 6208)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(4)) @@ -237,13 +237,13 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Storage: `System::Account` (r:1 w:1) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) /// Storage: `AssetsFreezer::Freezes` (r:1 w:1) - /// Proof: `AssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(87), added: 2562, mode: `MaxEncodedLen`) + /// Proof: `AssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(105), added: 2580, mode: `MaxEncodedLen`) fn force_transfer() -> Weight { // Proof Size summary in bytes: - // Measured: `426` + // Measured: `1715` // Estimated: `6208` - // Minimum execution time: 58_292_000 picoseconds. - Weight::from_parts(59_096_000, 0) + // Minimum execution time: 71_152_000 picoseconds. + Weight::from_parts(73_611_000, 0) .saturating_add(Weight::from_parts(0, 6208)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(6)) @@ -256,8 +256,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `422` // Estimated: `3675` - // Minimum execution time: 16_308_000 picoseconds. - Weight::from_parts(16_850_000, 0) + // Minimum execution time: 20_810_000 picoseconds. + Weight::from_parts(21_852_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -270,8 +270,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `422` // Estimated: `3675` - // Minimum execution time: 16_168_000 picoseconds. - Weight::from_parts(17_087_000, 0) + // Minimum execution time: 20_707_000 picoseconds. + Weight::from_parts(22_259_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -282,8 +282,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `348` // Estimated: `3675` - // Minimum execution time: 11_649_000 picoseconds. - Weight::from_parts(12_205_000, 0) + // Minimum execution time: 15_800_000 picoseconds. + Weight::from_parts(16_454_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -294,8 +294,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `348` // Estimated: `3675` - // Minimum execution time: 11_581_000 picoseconds. - Weight::from_parts(12_144_000, 0) + // Minimum execution time: 15_364_000 picoseconds. + Weight::from_parts(16_441_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -308,8 +308,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `314` // Estimated: `3675` - // Minimum execution time: 13_659_000 picoseconds. - Weight::from_parts(14_063_000, 0) + // Minimum execution time: 15_540_000 picoseconds. + Weight::from_parts(16_204_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -320,8 +320,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `314` // Estimated: `3675` - // Minimum execution time: 11_773_000 picoseconds. - Weight::from_parts(12_318_000, 0) + // Minimum execution time: 13_628_000 picoseconds. + Weight::from_parts(14_346_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -340,8 +340,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `314` // Estimated: `3675` - // Minimum execution time: 27_666_000 picoseconds. - Weight::from_parts(29_418_576, 0) + // Minimum execution time: 32_964_000 picoseconds. + Weight::from_parts(35_222_176, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -354,8 +354,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `478` // Estimated: `3675` - // Minimum execution time: 27_696_000 picoseconds. - Weight::from_parts(28_581_000, 0) + // Minimum execution time: 33_166_000 picoseconds. + Weight::from_parts(34_278_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -374,13 +374,13 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `153` // Estimated: `3675` - // Minimum execution time: 12_322_000 picoseconds. - Weight::from_parts(12_988_255, 0) + // Minimum execution time: 14_161_000 picoseconds. + Weight::from_parts(14_792_595, 0) .saturating_add(Weight::from_parts(0, 3675)) - // Standard Error: 1_012 - .saturating_add(Weight::from_parts(1_936, 0).saturating_mul(n.into())) - // Standard Error: 1_012 - .saturating_add(Weight::from_parts(2_627, 0).saturating_mul(s.into())) + // Standard Error: 833 + .saturating_add(Weight::from_parts(6_783, 0).saturating_mul(n.into())) + // Standard Error: 833 + .saturating_add(Weight::from_parts(4_978, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -392,8 +392,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `478` // Estimated: `3675` - // Minimum execution time: 27_303_000 picoseconds. - Weight::from_parts(28_116_000, 0) + // Minimum execution time: 32_950_000 picoseconds. + Weight::from_parts(34_016_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -404,8 +404,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `314` // Estimated: `3675` - // Minimum execution time: 11_193_000 picoseconds. - Weight::from_parts(11_800_000, 0) + // Minimum execution time: 12_732_000 picoseconds. + Weight::from_parts(13_522_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -418,8 +418,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `348` // Estimated: `3675` - // Minimum execution time: 31_558_000 picoseconds. - Weight::from_parts(32_461_000, 0) + // Minimum execution time: 37_585_000 picoseconds. + Weight::from_parts(39_296_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -435,13 +435,13 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Storage: `System::Account` (r:1 w:1) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) /// Storage: `AssetsFreezer::Freezes` (r:1 w:1) - /// Proof: `AssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(87), added: 2562, mode: `MaxEncodedLen`) + /// Proof: `AssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(105), added: 2580, mode: `MaxEncodedLen`) fn transfer_approved() -> Weight { // Proof Size summary in bytes: - // Measured: `596` + // Measured: `1786` // Estimated: `6208` - // Minimum execution time: 78_672_000 picoseconds. - Weight::from_parts(80_184_000, 0) + // Minimum execution time: 94_177_000 picoseconds. + Weight::from_parts(96_686_000, 0) .saturating_add(Weight::from_parts(0, 6208)) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().writes(7)) @@ -454,8 +454,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `518` // Estimated: `3675` - // Minimum execution time: 33_378_000 picoseconds. - Weight::from_parts(34_054_000, 0) + // Minimum execution time: 38_616_000 picoseconds. + Weight::from_parts(40_623_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -468,8 +468,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `518` // Estimated: `3675` - // Minimum execution time: 32_932_000 picoseconds. - Weight::from_parts(33_994_000, 0) + // Minimum execution time: 39_466_000 picoseconds. + Weight::from_parts(41_019_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -480,8 +480,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `314` // Estimated: `3675` - // Minimum execution time: 12_319_000 picoseconds. - Weight::from_parts(12_843_000, 0) + // Minimum execution time: 14_256_000 picoseconds. + Weight::from_parts(14_690_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -494,10 +494,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn touch() -> Weight { // Proof Size summary in bytes: - // Measured: `417` + // Measured: `1621` // Estimated: `3675` - // Minimum execution time: 33_017_000 picoseconds. - Weight::from_parts(33_654_000, 0) + // Minimum execution time: 42_679_000 picoseconds. + Weight::from_parts(44_366_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) @@ -510,8 +510,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `314` // Estimated: `3675` - // Minimum execution time: 31_352_000 picoseconds. - Weight::from_parts(32_145_000, 0) + // Minimum execution time: 36_532_000 picoseconds. + Weight::from_parts(39_263_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -525,13 +525,13 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Storage: `System::Account` (r:1 w:1) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) /// Storage: `AssetsFreezer::Freezes` (r:1 w:1) - /// Proof: `AssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(87), added: 2562, mode: `MaxEncodedLen`) + /// Proof: `AssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(105), added: 2580, mode: `MaxEncodedLen`) fn refund() -> Weight { // Proof Size summary in bytes: - // Measured: `547` + // Measured: `1751` // Estimated: `3675` - // Minimum execution time: 42_926_000 picoseconds. - Weight::from_parts(44_322_000, 0) + // Minimum execution time: 53_213_000 picoseconds. + Weight::from_parts(55_421_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(5)) @@ -543,13 +543,13 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Storage: `AssetsFreezer::FrozenBalances` (r:1 w:1) /// Proof: `AssetsFreezer::FrozenBalances` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) /// Storage: `AssetsFreezer::Freezes` (r:1 w:1) - /// Proof: `AssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(87), added: 2562, mode: `MaxEncodedLen`) + /// Proof: `AssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(105), added: 2580, mode: `MaxEncodedLen`) fn refund_other() -> Weight { // Proof Size summary in bytes: // Measured: `477` // Estimated: `3675` - // Minimum execution time: 41_094_000 picoseconds. - Weight::from_parts(41_955_000, 0) + // Minimum execution time: 47_558_000 picoseconds. + Weight::from_parts(49_108_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(4)) @@ -562,8 +562,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `422` // Estimated: `3675` - // Minimum execution time: 16_295_000 picoseconds. - Weight::from_parts(16_900_000, 0) + // Minimum execution time: 20_832_000 picoseconds. + Weight::from_parts(22_017_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -575,15 +575,15 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Storage: `AssetsFreezer::FrozenBalances` (r:1 w:1) /// Proof: `AssetsFreezer::FrozenBalances` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) /// Storage: `AssetsFreezer::Freezes` (r:1 w:1) - /// Proof: `AssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(87), added: 2562, mode: `MaxEncodedLen`) + /// Proof: `AssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(105), added: 2580, mode: `MaxEncodedLen`) /// Storage: `System::Account` (r:1 w:1) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn transfer_all() -> Weight { // Proof Size summary in bytes: - // Measured: `426` + // Measured: `1715` // Estimated: `6208` - // Minimum execution time: 71_441_000 picoseconds. - Weight::from_parts(72_377_000, 0) + // Minimum execution time: 85_949_000 picoseconds. + Weight::from_parts(87_502_000, 0) .saturating_add(Weight::from_parts(0, 6208)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(6)) @@ -594,8 +594,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `348` // Estimated: `3675` - // Minimum execution time: 5_821_000 picoseconds. - Weight::from_parts(6_163_000, 0) + // Minimum execution time: 8_419_000 picoseconds. + Weight::from_parts(8_867_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(1)) } @@ -605,8 +605,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `222` // Estimated: `3599` - // Minimum execution time: 6_840_000 picoseconds. - Weight::from_parts(7_154_000, 0) + // Minimum execution time: 7_287_000 picoseconds. + Weight::from_parts(7_668_000, 0) .saturating_add(Weight::from_parts(0, 3599)) .saturating_add(T::DbWeight::get().reads(1)) } @@ -616,8 +616,8 @@ impl pallet_assets::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `317` // Estimated: `3613` - // Minimum execution time: 9_336_000 picoseconds. - Weight::from_parts(9_839_000, 0) + // Minimum execution time: 9_996_000 picoseconds. + Weight::from_parts(10_632_000, 0) .saturating_add(Weight::from_parts(0, 3613)) .saturating_add(T::DbWeight::get().reads(1)) } diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_assets_pool.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_assets_pool.rs index 7c0d113417191..78cb1d6b9ad97 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_assets_pool.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_assets_pool.rs @@ -16,9 +16,9 @@ //! Autogenerated weights for `pallet_assets` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-05-18, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2025-10-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `c47a012f15ca`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: @@ -56,10 +56,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `PoolAssets::NextAssetId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) fn create() -> Weight { // Proof Size summary in bytes: - // Measured: `42` + // Measured: `109` // Estimated: `3675` - // Minimum execution time: 11_569_000 picoseconds. - Weight::from_parts(11_889_000, 0) + // Minimum execution time: 13_289_000 picoseconds. + Weight::from_parts(14_176_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -70,10 +70,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `PoolAssets::NextAssetId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) fn force_create() -> Weight { // Proof Size summary in bytes: - // Measured: `42` + // Measured: `109` // Estimated: `3675` - // Minimum execution time: 11_004_000 picoseconds. - Weight::from_parts(11_358_000, 0) + // Minimum execution time: 12_445_000 picoseconds. + Weight::from_parts(13_034_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -81,13 +81,13 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Storage: `PoolAssets::Asset` (r:1 w:1) /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) /// Storage: `PoolAssetsFreezer::Freezes` (r:1 w:0) - /// Proof: `PoolAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(87), added: 2562, mode: `MaxEncodedLen`) + /// Proof: `PoolAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(105), added: 2580, mode: `MaxEncodedLen`) fn start_destroy() -> Weight { // Proof Size summary in bytes: - // Measured: `499` + // Measured: `632` // Estimated: `3675` - // Minimum execution time: 16_849_000 picoseconds. - Weight::from_parts(17_412_000, 0) + // Minimum execution time: 22_271_000 picoseconds. + Weight::from_parts(25_563_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -101,19 +101,19 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Storage: `System::Account` (r:1000 w:1000) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) /// Storage: `PoolAssetsFreezer::Freezes` (r:1000 w:1000) - /// Proof: `PoolAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(87), added: 2562, mode: `MaxEncodedLen`) + /// Proof: `PoolAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(105), added: 2580, mode: `MaxEncodedLen`) /// The range of component `c` is `[0, 1000]`. /// The range of component `c` is `[0, 1000]`. /// The range of component `c` is `[0, 1000]`. fn destroy_accounts(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0 + c * (208 ±0)` + // Measured: `67950 + c * (419 ±0)` // Estimated: `3675 + c * (2609 ±0)` - // Minimum execution time: 15_443_000 picoseconds. - Weight::from_parts(15_900_000, 0) + // Minimum execution time: 17_167_000 picoseconds. + Weight::from_parts(17_644_000, 0) .saturating_add(Weight::from_parts(0, 3675)) - // Standard Error: 42_899 - .saturating_add(Weight::from_parts(26_918_528, 0).saturating_mul(c.into())) + // Standard Error: 34_467 + .saturating_add(Weight::from_parts(36_023_806, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads((4_u64).saturating_mul(c.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -129,13 +129,13 @@ impl pallet_assets::WeightInfo for WeightInfo { /// The range of component `a` is `[0, 1000]`. fn destroy_approvals(a: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `451 + a * (86 ±0)` + // Measured: `518 + a * (86 ±0)` // Estimated: `3675 + a * (2623 ±0)` - // Minimum execution time: 15_852_000 picoseconds. - Weight::from_parts(16_324_000, 0) + // Minimum execution time: 20_816_000 picoseconds. + Weight::from_parts(21_334_000, 0) .saturating_add(Weight::from_parts(0, 3675)) - // Standard Error: 7_240 - .saturating_add(Weight::from_parts(6_025_177, 0).saturating_mul(a.into())) + // Standard Error: 8_880 + .saturating_add(Weight::from_parts(7_024_453, 0).saturating_mul(a.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(a.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -148,10 +148,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `PoolAssets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) fn finish_destroy() -> Weight { // Proof Size summary in bytes: - // Measured: `280` + // Measured: `347` // Estimated: `3675` - // Minimum execution time: 13_087_000 picoseconds. - Weight::from_parts(13_717_000, 0) + // Minimum execution time: 14_850_000 picoseconds. + Weight::from_parts(15_540_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -162,10 +162,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) fn mint() -> Weight { // Proof Size summary in bytes: - // Measured: `280` + // Measured: `347` // Estimated: `3675` - // Minimum execution time: 22_607_000 picoseconds. - Weight::from_parts(23_394_000, 0) + // Minimum execution time: 25_823_000 picoseconds. + Weight::from_parts(27_066_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -177,13 +177,13 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Storage: `PoolAssetsFreezer::FrozenBalances` (r:1 w:1) /// Proof: `PoolAssetsFreezer::FrozenBalances` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) /// Storage: `PoolAssetsFreezer::Freezes` (r:1 w:1) - /// Proof: `PoolAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(87), added: 2562, mode: `MaxEncodedLen`) + /// Proof: `PoolAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(105), added: 2580, mode: `MaxEncodedLen`) fn burn() -> Weight { // Proof Size summary in bytes: - // Measured: `464` + // Measured: `531` // Estimated: `3675` - // Minimum execution time: 47_055_000 picoseconds. - Weight::from_parts(48_623_000, 0) + // Minimum execution time: 54_850_000 picoseconds. + Weight::from_parts(56_479_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(4)) @@ -197,13 +197,13 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Storage: `System::Account` (r:1 w:1) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) /// Storage: `PoolAssetsFreezer::Freezes` (r:1 w:1) - /// Proof: `PoolAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(87), added: 2562, mode: `MaxEncodedLen`) + /// Proof: `PoolAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(105), added: 2580, mode: `MaxEncodedLen`) fn transfer() -> Weight { // Proof Size summary in bytes: - // Measured: `464` + // Measured: `1820` // Estimated: `6208` - // Minimum execution time: 59_079_000 picoseconds. - Weight::from_parts(61_112_000, 0) + // Minimum execution time: 72_910_000 picoseconds. + Weight::from_parts(75_179_000, 0) .saturating_add(Weight::from_parts(0, 6208)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(6)) @@ -218,10 +218,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn transfer_keep_alive() -> Weight { // Proof Size summary in bytes: - // Measured: `464` + // Measured: `1820` // Estimated: `6208` - // Minimum execution time: 45_022_000 picoseconds. - Weight::from_parts(45_867_000, 0) + // Minimum execution time: 57_997_000 picoseconds. + Weight::from_parts(59_820_000, 0) .saturating_add(Weight::from_parts(0, 6208)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(4)) @@ -235,13 +235,13 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Storage: `System::Account` (r:1 w:1) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) /// Storage: `PoolAssetsFreezer::Freezes` (r:1 w:1) - /// Proof: `PoolAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(87), added: 2562, mode: `MaxEncodedLen`) + /// Proof: `PoolAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(105), added: 2580, mode: `MaxEncodedLen`) fn force_transfer() -> Weight { // Proof Size summary in bytes: - // Measured: `464` + // Measured: `1820` // Estimated: `6208` - // Minimum execution time: 58_841_000 picoseconds. - Weight::from_parts(60_287_000, 0) + // Minimum execution time: 72_450_000 picoseconds. + Weight::from_parts(74_859_000, 0) .saturating_add(Weight::from_parts(0, 6208)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(6)) @@ -252,10 +252,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) fn freeze() -> Weight { // Proof Size summary in bytes: - // Measured: `388` + // Measured: `455` // Estimated: `3675` - // Minimum execution time: 16_231_000 picoseconds. - Weight::from_parts(16_669_000, 0) + // Minimum execution time: 20_425_000 picoseconds. + Weight::from_parts(21_467_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -266,10 +266,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) fn thaw() -> Weight { // Proof Size summary in bytes: - // Measured: `388` + // Measured: `455` // Estimated: `3675` - // Minimum execution time: 16_306_000 picoseconds. - Weight::from_parts(16_822_000, 0) + // Minimum execution time: 20_327_000 picoseconds. + Weight::from_parts(21_154_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -278,10 +278,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) fn freeze_asset() -> Weight { // Proof Size summary in bytes: - // Measured: `314` + // Measured: `381` // Estimated: `3675` - // Minimum execution time: 11_570_000 picoseconds. - Weight::from_parts(12_166_000, 0) + // Minimum execution time: 15_426_000 picoseconds. + Weight::from_parts(16_727_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -290,10 +290,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) fn thaw_asset() -> Weight { // Proof Size summary in bytes: - // Measured: `314` + // Measured: `381` // Estimated: `3675` - // Minimum execution time: 11_566_000 picoseconds. - Weight::from_parts(11_968_000, 0) + // Minimum execution time: 15_463_000 picoseconds. + Weight::from_parts(16_739_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -304,10 +304,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `PoolAssets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) fn transfer_ownership() -> Weight { // Proof Size summary in bytes: - // Measured: `280` + // Measured: `347` // Estimated: `3675` - // Minimum execution time: 13_350_000 picoseconds. - Weight::from_parts(13_761_000, 0) + // Minimum execution time: 15_553_000 picoseconds. + Weight::from_parts(16_033_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -316,10 +316,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) fn set_team() -> Weight { // Proof Size summary in bytes: - // Measured: `280` + // Measured: `347` // Estimated: `3675` - // Minimum execution time: 11_563_000 picoseconds. - Weight::from_parts(12_002_000, 0) + // Minimum execution time: 13_193_000 picoseconds. + Weight::from_parts(14_192_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -334,17 +334,15 @@ impl pallet_assets::WeightInfo for WeightInfo { /// The range of component `s` is `[0, 50]`. /// The range of component `n` is `[0, 50]`. /// The range of component `s` is `[0, 50]`. - fn set_metadata(n: u32, s: u32, ) -> Weight { + fn set_metadata(n: u32, _s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `280` + // Measured: `347` // Estimated: `3675` - // Minimum execution time: 13_982_000 picoseconds. - Weight::from_parts(14_938_292, 0) + // Minimum execution time: 18_101_000 picoseconds. + Weight::from_parts(19_518_276, 0) .saturating_add(Weight::from_parts(0, 3675)) - // Standard Error: 793 - .saturating_add(Weight::from_parts(347, 0).saturating_mul(n.into())) - // Standard Error: 793 - .saturating_add(Weight::from_parts(303, 0).saturating_mul(s.into())) + // Standard Error: 914 + .saturating_add(Weight::from_parts(4_110, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -354,10 +352,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `PoolAssets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) fn clear_metadata() -> Weight { // Proof Size summary in bytes: - // Measured: `444` + // Measured: `511` // Estimated: `3675` - // Minimum execution time: 15_150_000 picoseconds. - Weight::from_parts(15_734_000, 0) + // Minimum execution time: 19_246_000 picoseconds. + Weight::from_parts(20_277_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -372,17 +370,15 @@ impl pallet_assets::WeightInfo for WeightInfo { /// The range of component `s` is `[0, 50]`. /// The range of component `n` is `[0, 50]`. /// The range of component `s` is `[0, 50]`. - fn force_set_metadata(n: u32, s: u32, ) -> Weight { + fn force_set_metadata(n: u32, _s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `119` + // Measured: `186` // Estimated: `3675` - // Minimum execution time: 12_294_000 picoseconds. - Weight::from_parts(12_892_214, 0) + // Minimum execution time: 14_123_000 picoseconds. + Weight::from_parts(15_136_256, 0) .saturating_add(Weight::from_parts(0, 3675)) - // Standard Error: 363 - .saturating_add(Weight::from_parts(1_449, 0).saturating_mul(n.into())) - // Standard Error: 363 - .saturating_add(Weight::from_parts(949, 0).saturating_mul(s.into())) + // Standard Error: 586 + .saturating_add(Weight::from_parts(1_236, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -392,10 +388,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `PoolAssets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) fn force_clear_metadata() -> Weight { // Proof Size summary in bytes: - // Measured: `444` + // Measured: `511` // Estimated: `3675` - // Minimum execution time: 14_637_000 picoseconds. - Weight::from_parts(15_381_000, 0) + // Minimum execution time: 19_297_000 picoseconds. + Weight::from_parts(20_311_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -404,10 +400,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) fn force_asset_status() -> Weight { // Proof Size summary in bytes: - // Measured: `280` + // Measured: `347` // Estimated: `3675` - // Minimum execution time: 11_326_000 picoseconds. - Weight::from_parts(11_597_000, 0) + // Minimum execution time: 13_165_000 picoseconds. + Weight::from_parts(13_982_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -418,10 +414,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `PoolAssets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) fn approve_transfer() -> Weight { // Proof Size summary in bytes: - // Measured: `314` + // Measured: `381` // Estimated: `3675` - // Minimum execution time: 17_983_000 picoseconds. - Weight::from_parts(18_855_000, 0) + // Minimum execution time: 23_371_000 picoseconds. + Weight::from_parts(23_869_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -437,13 +433,13 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Storage: `System::Account` (r:1 w:1) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) /// Storage: `PoolAssetsFreezer::Freezes` (r:1 w:1) - /// Proof: `PoolAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(87), added: 2562, mode: `MaxEncodedLen`) + /// Proof: `PoolAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(105), added: 2580, mode: `MaxEncodedLen`) fn transfer_approved() -> Weight { // Proof Size summary in bytes: - // Measured: `634` + // Measured: `1891` // Estimated: `6208` - // Minimum execution time: 69_752_000 picoseconds. - Weight::from_parts(71_877_000, 0) + // Minimum execution time: 84_012_000 picoseconds. + Weight::from_parts(86_055_000, 0) .saturating_add(Weight::from_parts(0, 6208)) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().writes(7)) @@ -454,10 +450,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `PoolAssets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) fn cancel_approval() -> Weight { // Proof Size summary in bytes: - // Measured: `484` + // Measured: `551` // Estimated: `3675` - // Minimum execution time: 20_653_000 picoseconds. - Weight::from_parts(21_557_000, 0) + // Minimum execution time: 25_480_000 picoseconds. + Weight::from_parts(26_343_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -468,10 +464,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `PoolAssets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) fn force_cancel_approval() -> Weight { // Proof Size summary in bytes: - // Measured: `484` + // Measured: `551` // Estimated: `3675` - // Minimum execution time: 20_561_000 picoseconds. - Weight::from_parts(21_348_000, 0) + // Minimum execution time: 26_077_000 picoseconds. + Weight::from_parts(27_156_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -480,10 +476,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) fn set_min_balance() -> Weight { // Proof Size summary in bytes: - // Measured: `280` + // Measured: `347` // Estimated: `3675` - // Minimum execution time: 12_113_000 picoseconds. - Weight::from_parts(12_644_000, 0) + // Minimum execution time: 14_310_000 picoseconds. + Weight::from_parts(14_892_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -494,10 +490,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) fn touch() -> Weight { // Proof Size summary in bytes: - // Measured: `280` + // Measured: `347` // Estimated: `3675` - // Minimum execution time: 17_074_000 picoseconds. - Weight::from_parts(17_729_000, 0) + // Minimum execution time: 19_538_000 picoseconds. + Weight::from_parts(20_418_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -508,10 +504,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) fn touch_other() -> Weight { // Proof Size summary in bytes: - // Measured: `280` + // Measured: `347` // Estimated: `3675` - // Minimum execution time: 17_410_000 picoseconds. - Weight::from_parts(17_968_000, 0) + // Minimum execution time: 21_928_000 picoseconds. + Weight::from_parts(22_868_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -523,13 +519,13 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Storage: `PoolAssetsFreezer::FrozenBalances` (r:1 w:1) /// Proof: `PoolAssetsFreezer::FrozenBalances` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) /// Storage: `PoolAssetsFreezer::Freezes` (r:1 w:1) - /// Proof: `PoolAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(87), added: 2562, mode: `MaxEncodedLen`) + /// Proof: `PoolAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(105), added: 2580, mode: `MaxEncodedLen`) fn refund() -> Weight { // Proof Size summary in bytes: - // Measured: `482` + // Measured: `549` // Estimated: `3675` - // Minimum execution time: 28_130_000 picoseconds. - Weight::from_parts(28_908_000, 0) + // Minimum execution time: 33_525_000 picoseconds. + Weight::from_parts(34_380_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(4)) @@ -541,13 +537,13 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Storage: `PoolAssetsFreezer::FrozenBalances` (r:1 w:1) /// Proof: `PoolAssetsFreezer::FrozenBalances` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) /// Storage: `PoolAssetsFreezer::Freezes` (r:1 w:1) - /// Proof: `PoolAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(87), added: 2562, mode: `MaxEncodedLen`) + /// Proof: `PoolAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(105), added: 2580, mode: `MaxEncodedLen`) fn refund_other() -> Weight { // Proof Size summary in bytes: - // Measured: `515` + // Measured: `582` // Estimated: `3675` - // Minimum execution time: 29_928_000 picoseconds. - Weight::from_parts(30_744_000, 0) + // Minimum execution time: 33_471_000 picoseconds. + Weight::from_parts(34_147_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(4)) @@ -558,10 +554,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) fn block() -> Weight { // Proof Size summary in bytes: - // Measured: `388` + // Measured: `455` // Estimated: `3675` - // Minimum execution time: 15_931_000 picoseconds. - Weight::from_parts(16_907_000, 0) + // Minimum execution time: 20_210_000 picoseconds. + Weight::from_parts(21_350_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -573,15 +569,15 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Storage: `PoolAssetsFreezer::FrozenBalances` (r:1 w:1) /// Proof: `PoolAssetsFreezer::FrozenBalances` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) /// Storage: `PoolAssetsFreezer::Freezes` (r:1 w:1) - /// Proof: `PoolAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(87), added: 2562, mode: `MaxEncodedLen`) + /// Proof: `PoolAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(105), added: 2580, mode: `MaxEncodedLen`) /// Storage: `System::Account` (r:1 w:1) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn transfer_all() -> Weight { // Proof Size summary in bytes: - // Measured: `464` + // Measured: `1820` // Estimated: `6208` - // Minimum execution time: 71_790_000 picoseconds. - Weight::from_parts(73_457_000, 0) + // Minimum execution time: 87_580_000 picoseconds. + Weight::from_parts(91_018_000, 0) .saturating_add(Weight::from_parts(0, 6208)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(6)) @@ -590,10 +586,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) fn total_issuance() -> Weight { // Proof Size summary in bytes: - // Measured: `314` + // Measured: `381` // Estimated: `3675` - // Minimum execution time: 5_673_000 picoseconds. - Weight::from_parts(6_032_000, 0) + // Minimum execution time: 8_241_000 picoseconds. + Weight::from_parts(8_790_000, 0) .saturating_add(Weight::from_parts(0, 3675)) .saturating_add(T::DbWeight::get().reads(1)) } @@ -601,10 +597,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) fn balance() -> Weight { // Proof Size summary in bytes: - // Measured: `188` + // Measured: `255` // Estimated: `3599` - // Minimum execution time: 6_746_000 picoseconds. - Weight::from_parts(7_190_000, 0) + // Minimum execution time: 7_045_000 picoseconds. + Weight::from_parts(7_671_000, 0) .saturating_add(Weight::from_parts(0, 3599)) .saturating_add(T::DbWeight::get().reads(1)) } @@ -612,10 +608,10 @@ impl pallet_assets::WeightInfo for WeightInfo { /// Proof: `PoolAssets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`) fn allowance() -> Weight { // Proof Size summary in bytes: - // Measured: `283` + // Measured: `350` // Estimated: `3613` - // Minimum execution time: 9_311_000 picoseconds. - Weight::from_parts(9_602_000, 0) + // Minimum execution time: 10_184_000 picoseconds. + Weight::from_parts(10_754_000, 0) .saturating_add(Weight::from_parts(0, 3613)) .saturating_add(T::DbWeight::get().reads(1)) } diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_bags_list.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_bags_list.rs index 26d45511a0fbc..d977cebe9fef5 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_bags_list.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_bags_list.rs @@ -16,9 +16,9 @@ //! Autogenerated weights for `pallet_bags_list` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-07-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2025-10-04, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `66f1737e2c94`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: @@ -64,8 +64,8 @@ impl pallet_bags_list::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `5012` // Estimated: `11506` - // Minimum execution time: 149_768_000 picoseconds. - Weight::from_parts(162_271_000, 0) + // Minimum execution time: 154_708_000 picoseconds. + Weight::from_parts(160_360_000, 0) .saturating_add(Weight::from_parts(0, 11506)) .saturating_add(T::DbWeight::get().reads(8)) .saturating_add(T::DbWeight::get().writes(5)) @@ -84,8 +84,8 @@ impl pallet_bags_list::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `4915` // Estimated: `8877` - // Minimum execution time: 145_767_000 picoseconds. - Weight::from_parts(157_284_000, 0) + // Minimum execution time: 156_136_000 picoseconds. + Weight::from_parts(159_427_000, 0) .saturating_add(Weight::from_parts(0, 8877)) .saturating_add(T::DbWeight::get().reads(8)) .saturating_add(T::DbWeight::get().writes(5)) @@ -106,8 +106,8 @@ impl pallet_bags_list::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `7365` // Estimated: `11506` - // Minimum execution time: 192_992_000 picoseconds. - Weight::from_parts(200_226_000, 0) + // Minimum execution time: 197_233_000 picoseconds. + Weight::from_parts(207_293_000, 0) .saturating_add(Weight::from_parts(0, 11506)) .saturating_add(T::DbWeight::get().reads(11)) .saturating_add(T::DbWeight::get().writes(6)) @@ -130,8 +130,8 @@ impl pallet_bags_list::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `24300` // Estimated: `512390` - // Minimum execution time: 1_064_149_000 picoseconds. - Weight::from_parts(1_090_878_000, 0) + // Minimum execution time: 1_150_913_000 picoseconds. + Weight::from_parts(1_177_757_000, 0) .saturating_add(Weight::from_parts(0, 512390)) .saturating_add(T::DbWeight::get().reads(234)) .saturating_add(T::DbWeight::get().writes(16)) diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_balances.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_balances.rs index 3b8ee471d9af6..6f7bb673192f4 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_balances.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_balances.rs @@ -16,9 +16,9 @@ //! Autogenerated weights for `pallet_balances` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2025-10-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `73b9817d6032`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: @@ -54,10 +54,10 @@ impl pallet_balances::WeightInfo for WeightInfo { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn transfer_allow_death() -> Weight { // Proof Size summary in bytes: - // Measured: `0` + // Measured: `1074` // Estimated: `3593` - // Minimum execution time: 50_171_000 picoseconds. - Weight::from_parts(51_576_000, 0) + // Minimum execution time: 62_234_000 picoseconds. + Weight::from_parts(64_286_000, 0) .saturating_add(Weight::from_parts(0, 3593)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -66,10 +66,10 @@ impl pallet_balances::WeightInfo for WeightInfo { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn transfer_keep_alive() -> Weight { // Proof Size summary in bytes: - // Measured: `0` + // Measured: `1074` // Estimated: `3593` - // Minimum execution time: 40_458_000 picoseconds. - Weight::from_parts(41_063_000, 0) + // Minimum execution time: 48_841_000 picoseconds. + Weight::from_parts(50_895_000, 0) .saturating_add(Weight::from_parts(0, 3593)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -78,10 +78,10 @@ impl pallet_balances::WeightInfo for WeightInfo { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn force_set_balance_creating() -> Weight { // Proof Size summary in bytes: - // Measured: `103` + // Measured: `1140` // Estimated: `3593` - // Minimum execution time: 14_916_000 picoseconds. - Weight::from_parts(15_326_000, 0) + // Minimum execution time: 28_282_000 picoseconds. + Weight::from_parts(29_241_000, 0) .saturating_add(Weight::from_parts(0, 3593)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -90,10 +90,10 @@ impl pallet_balances::WeightInfo for WeightInfo { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn force_set_balance_killing() -> Weight { // Proof Size summary in bytes: - // Measured: `103` + // Measured: `1274` // Estimated: `3593` - // Minimum execution time: 21_718_000 picoseconds. - Weight::from_parts(22_438_000, 0) + // Minimum execution time: 28_782_000 picoseconds. + Weight::from_parts(30_523_000, 0) .saturating_add(Weight::from_parts(0, 3593)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -102,10 +102,10 @@ impl pallet_balances::WeightInfo for WeightInfo { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn force_transfer() -> Weight { // Proof Size summary in bytes: - // Measured: `103` + // Measured: `2414` // Estimated: `6196` - // Minimum execution time: 52_481_000 picoseconds. - Weight::from_parts(53_607_000, 0) + // Minimum execution time: 70_627_000 picoseconds. + Weight::from_parts(72_496_000, 0) .saturating_add(Weight::from_parts(0, 6196)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -114,10 +114,10 @@ impl pallet_balances::WeightInfo for WeightInfo { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn transfer_all() -> Weight { // Proof Size summary in bytes: - // Measured: `0` + // Measured: `1074` // Estimated: `3593` - // Minimum execution time: 49_618_000 picoseconds. - Weight::from_parts(50_794_000, 0) + // Minimum execution time: 59_562_000 picoseconds. + Weight::from_parts(60_582_000, 0) .saturating_add(Weight::from_parts(0, 3593)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -126,10 +126,10 @@ impl pallet_balances::WeightInfo for WeightInfo { /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn force_unreserve() -> Weight { // Proof Size summary in bytes: - // Measured: `103` + // Measured: `1274` // Estimated: `3593` - // Minimum execution time: 17_869_000 picoseconds. - Weight::from_parts(18_146_000, 0) + // Minimum execution time: 23_364_000 picoseconds. + Weight::from_parts(24_576_000, 0) .saturating_add(Weight::from_parts(0, 3593)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -139,13 +139,13 @@ impl pallet_balances::WeightInfo for WeightInfo { /// The range of component `u` is `[1, 1000]`. fn upgrade_accounts(u: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0 + u * (136 ±0)` + // Measured: `65095 + u * (341 ±0)` // Estimated: `990 + u * (2603 ±0)` - // Minimum execution time: 17_348_000 picoseconds. - Weight::from_parts(17_828_000, 0) + // Minimum execution time: 25_903_000 picoseconds. + Weight::from_parts(26_650_000, 0) .saturating_add(Weight::from_parts(0, 990)) - // Standard Error: 13_976 - .saturating_add(Weight::from_parts(15_304_901, 0).saturating_mul(u.into())) + // Standard Error: 32_305 + .saturating_add(Weight::from_parts(22_312_717, 0).saturating_mul(u.into())) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(u.into()))) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(u.into()))) .saturating_add(Weight::from_parts(0, 2603).saturating_mul(u.into())) @@ -154,24 +154,24 @@ impl pallet_balances::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 6_407_000 picoseconds. - Weight::from_parts(6_685_000, 0) + // Minimum execution time: 7_332_000 picoseconds. + Weight::from_parts(7_689_000, 0) .saturating_add(Weight::from_parts(0, 0)) } fn burn_allow_death() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 31_571_000 picoseconds. - Weight::from_parts(32_422_000, 0) + // Minimum execution time: 36_977_000 picoseconds. + Weight::from_parts(37_988_000, 0) .saturating_add(Weight::from_parts(0, 0)) } fn burn_keep_alive() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 21_770_000 picoseconds. - Weight::from_parts(22_325_000, 0) + // Minimum execution time: 23_835_000 picoseconds. + Weight::from_parts(24_727_000, 0) .saturating_add(Weight::from_parts(0, 0)) } } diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_collator_selection.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_collator_selection.rs index ca7829e001216..fd7db8209a2aa 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_collator_selection.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_collator_selection.rs @@ -16,9 +16,9 @@ //! Autogenerated weights for `pallet_collator_selection` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2025-10-04, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `73b9817d6032`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: @@ -59,11 +59,11 @@ impl pallet_collator_selection::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `164 + b * (79 ±0)` // Estimated: `1155 + b * (2555 ±0)` - // Minimum execution time: 12_971_000 picoseconds. - Weight::from_parts(10_915_736, 0) + // Minimum execution time: 14_592_000 picoseconds. + Weight::from_parts(12_409_790, 0) .saturating_add(Weight::from_parts(0, 1155)) - // Standard Error: 10_601 - .saturating_add(Weight::from_parts(4_079_577, 0).saturating_mul(b.into())) + // Standard Error: 8_335 + .saturating_add(Weight::from_parts(4_496_191, 0).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(b.into()))) .saturating_add(T::DbWeight::get().writes(1)) .saturating_add(Weight::from_parts(0, 2555).saturating_mul(b.into())) @@ -80,19 +80,19 @@ impl pallet_collator_selection::WeightInfo for WeightIn /// The range of component `c` is `[1, 99]`. fn add_invulnerable(b: u32, c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `791 + b * (32 ±0) + c * (53 ±0)` - // Estimated: `6287 + b * (37 ±0) + c * (53 ±0)` - // Minimum execution time: 50_487_000 picoseconds. - Weight::from_parts(50_631_813, 0) + // Measured: `2044 + b * (32 ±0) + c * (52 ±0)` + // Estimated: `6287 + b * (34 ±0) + c * (52 ±0)` + // Minimum execution time: 63_753_000 picoseconds. + Weight::from_parts(64_038_904, 0) .saturating_add(Weight::from_parts(0, 6287)) - // Standard Error: 11_165 - .saturating_add(Weight::from_parts(148_146, 0).saturating_mul(b.into())) - // Standard Error: 2_116 - .saturating_add(Weight::from_parts(142_897, 0).saturating_mul(c.into())) + // Standard Error: 12_538 + .saturating_add(Weight::from_parts(60_816, 0).saturating_mul(b.into())) + // Standard Error: 2_376 + .saturating_add(Weight::from_parts(168_773, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) - .saturating_add(Weight::from_parts(0, 37).saturating_mul(b.into())) - .saturating_add(Weight::from_parts(0, 53).saturating_mul(c.into())) + .saturating_add(Weight::from_parts(0, 34).saturating_mul(b.into())) + .saturating_add(Weight::from_parts(0, 52).saturating_mul(c.into())) } /// Storage: `CollatorSelection::CandidateList` (r:1 w:0) /// Proof: `CollatorSelection::CandidateList` (`max_values`: Some(1), `max_size`: Some(4802), added: 5297, mode: `MaxEncodedLen`) @@ -101,13 +101,13 @@ impl pallet_collator_selection::WeightInfo for WeightIn /// The range of component `b` is `[5, 20]`. fn remove_invulnerable(b: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `153 + b * (32 ±0)` + // Measured: `219 + b * (32 ±0)` // Estimated: `6287` - // Minimum execution time: 13_373_000 picoseconds. - Weight::from_parts(13_452_303, 0) + // Minimum execution time: 15_804_000 picoseconds. + Weight::from_parts(15_761_662, 0) .saturating_add(Weight::from_parts(0, 6287)) - // Standard Error: 2_220 - .saturating_add(Weight::from_parts(157_264, 0).saturating_mul(b.into())) + // Standard Error: 5_484 + .saturating_add(Weight::from_parts(337_342, 0).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -117,8 +117,8 @@ impl pallet_collator_selection::WeightInfo for WeightIn // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 5_211_000 picoseconds. - Weight::from_parts(5_480_000, 0) + // Minimum execution time: 6_234_000 picoseconds. + Weight::from_parts(6_483_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -134,15 +134,15 @@ impl pallet_collator_selection::WeightInfo for WeightIn /// The range of component `k` is `[0, 100]`. fn set_candidacy_bond(c: u32, k: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0 + c * (180 ±0) + k * (112 ±0)` + // Measured: `0 + c * (772 ±0) + k * (735 ±0)` // Estimated: `6287 + c * (901 ±29) + k * (901 ±29)` - // Minimum execution time: 11_494_000 picoseconds. - Weight::from_parts(11_703_000, 0) + // Minimum execution time: 12_225_000 picoseconds. + Weight::from_parts(12_491_000, 0) .saturating_add(Weight::from_parts(0, 6287)) - // Standard Error: 178_455 - .saturating_add(Weight::from_parts(6_093_663, 0).saturating_mul(c.into())) - // Standard Error: 178_455 - .saturating_add(Weight::from_parts(5_683_693, 0).saturating_mul(k.into())) + // Standard Error: 252_395 + .saturating_add(Weight::from_parts(8_694_313, 0).saturating_mul(c.into())) + // Standard Error: 252_395 + .saturating_add(Weight::from_parts(8_115_232, 0).saturating_mul(k.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(c.into()))) @@ -157,13 +157,13 @@ impl pallet_collator_selection::WeightInfo for WeightIn /// The range of component `c` is `[4, 100]`. fn update_bond(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `321 + c * (50 ±0)` + // Measured: `1536 + c * (48 ±0)` // Estimated: `6287` - // Minimum execution time: 30_106_000 picoseconds. - Weight::from_parts(32_731_556, 0) + // Minimum execution time: 39_309_000 picoseconds. + Weight::from_parts(45_571_716, 0) .saturating_add(Weight::from_parts(0, 6287)) - // Standard Error: 3_574 - .saturating_add(Weight::from_parts(137_212, 0).saturating_mul(c.into())) + // Standard Error: 2_925 + .saturating_add(Weight::from_parts(154_461, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -180,13 +180,13 @@ impl pallet_collator_selection::WeightInfo for WeightIn /// The range of component `c` is `[1, 99]`. fn register_as_candidate(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `758 + c * (52 ±0)` + // Measured: `824 + c * (52 ±0)` // Estimated: `6287 + c * (54 ±0)` - // Minimum execution time: 43_366_000 picoseconds. - Weight::from_parts(48_635_091, 0) + // Minimum execution time: 44_932_000 picoseconds. + Weight::from_parts(54_367_958, 0) .saturating_add(Weight::from_parts(0, 6287)) - // Standard Error: 2_931 - .saturating_add(Weight::from_parts(163_848, 0).saturating_mul(c.into())) + // Standard Error: 3_651 + .saturating_add(Weight::from_parts(193_336, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(2)) .saturating_add(Weight::from_parts(0, 54).saturating_mul(c.into())) @@ -206,16 +206,16 @@ impl pallet_collator_selection::WeightInfo for WeightIn /// The range of component `c` is `[4, 100]`. fn take_candidate_slot(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `926 + c * (52 ±0)` - // Estimated: `6287 + c * (55 ±0)` - // Minimum execution time: 60_407_000 picoseconds. - Weight::from_parts(66_549_367, 0) + // Measured: `1740 + c * (52 ±0)` + // Estimated: `6287 + c * (54 ±0)` + // Minimum execution time: 69_208_000 picoseconds. + Weight::from_parts(78_117_202, 0) .saturating_add(Weight::from_parts(0, 6287)) - // Standard Error: 3_685 - .saturating_add(Weight::from_parts(186_945, 0).saturating_mul(c.into())) + // Standard Error: 3_753 + .saturating_add(Weight::from_parts(192_632, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(4)) - .saturating_add(Weight::from_parts(0, 55).saturating_mul(c.into())) + .saturating_add(Weight::from_parts(0, 54).saturating_mul(c.into())) } /// Storage: `CollatorSelection::CandidateList` (r:1 w:1) /// Proof: `CollatorSelection::CandidateList` (`max_values`: Some(1), `max_size`: Some(4802), added: 5297, mode: `MaxEncodedLen`) @@ -226,13 +226,13 @@ impl pallet_collator_selection::WeightInfo for WeightIn /// The range of component `c` is `[4, 100]`. fn leave_intent(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `348 + c * (48 ±0)` + // Measured: `1180 + c * (48 ±0)` // Estimated: `6287` - // Minimum execution time: 32_931_000 picoseconds. - Weight::from_parts(37_172_964, 0) + // Minimum execution time: 42_355_000 picoseconds. + Weight::from_parts(48_066_082, 0) .saturating_add(Weight::from_parts(0, 6287)) - // Standard Error: 4_054 - .saturating_add(Weight::from_parts(189_751, 0).saturating_mul(c.into())) + // Standard Error: 3_038 + .saturating_add(Weight::from_parts(164_772, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -242,10 +242,10 @@ impl pallet_collator_selection::WeightInfo for WeightIn /// Proof: `CollatorSelection::LastAuthoredBlock` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) fn note_author() -> Weight { // Proof Size summary in bytes: - // Measured: `103` + // Measured: `2315` // Estimated: `6196` - // Minimum execution time: 43_692_000 picoseconds. - Weight::from_parts(44_666_000, 0) + // Minimum execution time: 57_668_000 picoseconds. + Weight::from_parts(59_036_000, 0) .saturating_add(Weight::from_parts(0, 6196)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(3)) @@ -264,13 +264,13 @@ impl pallet_collator_selection::WeightInfo for WeightIn /// The range of component `c` is `[1, 100]`. fn new_session(r: u32, c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `2214 + c * (97 ±0) + r * (112 ±0)` + // Measured: `6036 + c * (97 ±0) + r * (716 ±0)` // Estimated: `6287 + c * (2519 ±0) + r * (2603 ±0)` - // Minimum execution time: 20_277_000 picoseconds. - Weight::from_parts(20_618_000, 0) + // Minimum execution time: 32_850_000 picoseconds. + Weight::from_parts(34_005_000, 0) .saturating_add(Weight::from_parts(0, 6287)) - // Standard Error: 313_955 - .saturating_add(Weight::from_parts(14_412_840, 0).saturating_mul(c.into())) + // Standard Error: 428_748 + .saturating_add(Weight::from_parts(18_174_099, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(c.into()))) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(c.into()))) diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_conviction_voting.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_conviction_voting.rs index f40bd4072e991..feb6785440dd8 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_conviction_voting.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_conviction_voting.rs @@ -1,5 +1,4 @@ // Copyright (C) Parity Technologies (UK) Ltd. -// This file is part of Cumulus. // SPDX-License-Identifier: Apache-2.0 // Licensed under the Apache License, Version 2.0 (the "License"); @@ -16,27 +15,29 @@ //! Autogenerated weights for `pallet_conviction_voting` //! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2023-07-10, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 +//! DATE: 2025-10-04, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `runner-xerhrdyb-project-163-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! EXECUTION: `Some(Wasm)`, WASM-EXECUTION: `Compiled`, CHAIN: `Some("westend-dev")`, DB CACHE: 1024 +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: -// target/production/polkadot +// frame-omni-bencher +// v1 // benchmark // pallet -// --steps=50 -// --repeat=20 // --extrinsic=* -// --execution=wasm +// --runtime=target/production/wbuild/asset-hub-westend-runtime/asset_hub_westend_runtime.wasm +// --pallet=pallet_conviction_voting +// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt +// --output=./cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights // --wasm-execution=compiled +// --steps=50 +// --repeat=20 // --heap-pages=4096 -// --json-file=/builds/parity/mirrors/polkadot/.git/.artifacts/bench.json -// --pallet=pallet_conviction_voting -// --chain=westend-dev -// --header=./file_header.txt -// --output=./runtime/westend/src/weights/ +// --no-storage-info +// --no-min-squares +// --no-median-slopes #![cfg_attr(rustfmt, rustfmt_skip)] #![allow(unused_parens)] @@ -58,18 +59,24 @@ impl pallet_conviction_voting::WeightInfo for WeightInf /// Storage: `Balances::Locks` (r:1 w:1) /// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`) /// Storage: `Balances::Freezes` (r:1 w:0) - /// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`) - /// Storage: `Scheduler::Agenda` (r:1 w:1) - /// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`) + /// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::LastRelayChainBlockNumber` (r:1 w:0) + /// Proof: `ParachainSystem::LastRelayChainBlockNumber` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Scheduler::Agenda` (r:2 w:2) + /// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(5982734), added: 5985209, mode: `MaxEncodedLen`) + /// Storage: `Scheduler::Retries` (r:0 w:1) + /// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`) fn vote_new() -> Weight { // Proof Size summary in bytes: - // Measured: `13445` - // Estimated: `42428` - // Minimum execution time: 152_223_000 picoseconds. - Weight::from_parts(162_148_000, 0) - .saturating_add(Weight::from_parts(0, 42428)) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(5)) + // Measured: `121819` + // Estimated: `11971408` + // Minimum execution time: 4_096_400_000 picoseconds. + Weight::from_parts(4_290_246_000, 0) + .saturating_add(Weight::from_parts(0, 11971408)) + .saturating_add(T::DbWeight::get().reads(9)) + .saturating_add(T::DbWeight::get().writes(7)) } /// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1) /// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`) @@ -80,34 +87,38 @@ impl pallet_conviction_voting::WeightInfo for WeightInf /// Storage: `Balances::Locks` (r:1 w:1) /// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`) /// Storage: `Balances::Freezes` (r:1 w:0) - /// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`) - /// Storage: `Scheduler::Agenda` (r:2 w:2) - /// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`) + /// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::LastRelayChainBlockNumber` (r:1 w:0) + /// Proof: `ParachainSystem::LastRelayChainBlockNumber` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) fn vote_existing() -> Weight { // Proof Size summary in bytes: - // Measured: `14166` - // Estimated: `83866` - // Minimum execution time: 220_361_000 picoseconds. - Weight::from_parts(236_478_000, 0) - .saturating_add(Weight::from_parts(0, 83866)) + // Measured: `14248` + // Estimated: `30706` + // Minimum execution time: 169_235_000 picoseconds. + Weight::from_parts(182_635_000, 0) + .saturating_add(Weight::from_parts(0, 30706)) .saturating_add(T::DbWeight::get().reads(7)) - .saturating_add(T::DbWeight::get().writes(6)) + .saturating_add(T::DbWeight::get().writes(4)) } /// Storage: `ConvictionVoting::VotingFor` (r:1 w:1) /// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`) /// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1) /// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`) - /// Storage: `Scheduler::Agenda` (r:2 w:2) - /// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::LastRelayChainBlockNumber` (r:1 w:0) + /// Proof: `ParachainSystem::LastRelayChainBlockNumber` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) fn remove_vote() -> Weight { // Proof Size summary in bytes: - // Measured: `13918` - // Estimated: `83866` - // Minimum execution time: 198_787_000 picoseconds. - Weight::from_parts(204_983_000, 0) - .saturating_add(Weight::from_parts(0, 83866)) + // Measured: `13299` + // Estimated: `30706` + // Minimum execution time: 128_048_000 picoseconds. + Weight::from_parts(135_749_000, 0) + .saturating_add(Weight::from_parts(0, 30706)) .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(4)) + .saturating_add(T::DbWeight::get().writes(2)) } /// Storage: `ConvictionVoting::VotingFor` (r:1 w:1) /// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`) @@ -115,10 +126,10 @@ impl pallet_conviction_voting::WeightInfo for WeightInf /// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`) fn remove_other_vote() -> Weight { // Proof Size summary in bytes: - // Measured: `13004` + // Measured: `13110` // Estimated: `30706` - // Minimum execution time: 88_469_000 picoseconds. - Weight::from_parts(95_942_000, 0) + // Minimum execution time: 108_387_000 picoseconds. + Weight::from_parts(113_757_000, 0) .saturating_add(Weight::from_parts(0, 30706)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -127,27 +138,29 @@ impl pallet_conviction_voting::WeightInfo for WeightInf /// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`) /// Storage: `Referenda::ReferendumInfoFor` (r:512 w:512) /// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`) - /// Storage: `Scheduler::Agenda` (r:2 w:2) - /// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::LastRelayChainBlockNumber` (r:1 w:0) + /// Proof: `ParachainSystem::LastRelayChainBlockNumber` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// Storage: `ConvictionVoting::ClassLocksFor` (r:1 w:1) /// Proof: `ConvictionVoting::ClassLocksFor` (`max_values`: None, `max_size`: Some(311), added: 2786, mode: `MaxEncodedLen`) /// Storage: `Balances::Locks` (r:1 w:1) /// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`) /// Storage: `Balances::Freezes` (r:1 w:0) - /// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`) + /// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`) /// The range of component `r` is `[0, 512]`. fn delegate(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `29640 + r * (365 ±0)` - // Estimated: `83866 + r * (3411 ±0)` - // Minimum execution time: 79_951_000 picoseconds. - Weight::from_parts(1_844_983_097, 0) - .saturating_add(Weight::from_parts(0, 83866)) - // Standard Error: 160_158 - .saturating_add(Weight::from_parts(43_973_863, 0).saturating_mul(r.into())) + // Measured: `29143 + r * (377 ±0)` + // Estimated: `60422 + r * (3411 ±0)` + // Minimum execution time: 96_852_000 picoseconds. + Weight::from_parts(369_791_073, 0) + .saturating_add(Weight::from_parts(0, 60422)) + // Standard Error: 43_933 + .saturating_add(Weight::from_parts(11_277_752, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into()))) - .saturating_add(T::DbWeight::get().writes(6)) + .saturating_add(T::DbWeight::get().writes(4)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into()))) .saturating_add(Weight::from_parts(0, 3411).saturating_mul(r.into())) } @@ -155,40 +168,46 @@ impl pallet_conviction_voting::WeightInfo for WeightInf /// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`) /// Storage: `Referenda::ReferendumInfoFor` (r:512 w:512) /// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`) - /// Storage: `Scheduler::Agenda` (r:2 w:2) - /// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::LastRelayChainBlockNumber` (r:1 w:0) + /// Proof: `ParachainSystem::LastRelayChainBlockNumber` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// The range of component `r` is `[0, 512]`. fn undelegate(r: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `29555 + r * (365 ±0)` - // Estimated: `83866 + r * (3411 ±0)` - // Minimum execution time: 47_976_000 picoseconds. - Weight::from_parts(1_877_857_335, 0) - .saturating_add(Weight::from_parts(0, 83866)) - // Standard Error: 168_477 - .saturating_add(Weight::from_parts(43_303_902, 0).saturating_mul(r.into())) + // Measured: `28358 + r * (377 ±0)` + // Estimated: `60422 + r * (3411 ±2)` + // Minimum execution time: 63_758_000 picoseconds. + Weight::from_parts(196_011_969, 0) + .saturating_add(Weight::from_parts(0, 60422)) + // Standard Error: 58_177 + .saturating_add(Weight::from_parts(10_938_665, 0).saturating_mul(r.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into()))) - .saturating_add(T::DbWeight::get().writes(4)) + .saturating_add(T::DbWeight::get().writes(2)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into()))) .saturating_add(Weight::from_parts(0, 3411).saturating_mul(r.into())) } /// Storage: `ConvictionVoting::VotingFor` (r:1 w:1) /// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::LastRelayChainBlockNumber` (r:1 w:0) + /// Proof: `ParachainSystem::LastRelayChainBlockNumber` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// Storage: `ConvictionVoting::ClassLocksFor` (r:1 w:1) /// Proof: `ConvictionVoting::ClassLocksFor` (`max_values`: None, `max_size`: Some(311), added: 2786, mode: `MaxEncodedLen`) /// Storage: `Balances::Locks` (r:1 w:1) /// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`) /// Storage: `Balances::Freezes` (r:1 w:0) - /// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`) + /// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`) fn unlock() -> Weight { // Proof Size summary in bytes: - // Measured: `12218` + // Measured: `13133` // Estimated: `30706` - // Minimum execution time: 102_868_000 picoseconds. - Weight::from_parts(110_438_000, 0) + // Minimum execution time: 135_298_000 picoseconds. + Weight::from_parts(141_832_000, 0) .saturating_add(Weight::from_parts(0, 30706)) - .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(3)) } } diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_election_provider_multi_block_signed.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_election_provider_multi_block_signed.rs new file mode 100644 index 0000000000000..835f96ad191e5 --- /dev/null +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_election_provider_multi_block_signed.rs @@ -0,0 +1,197 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! Autogenerated weights for `pallet_election_provider_multi_block_signed` +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 +//! DATE: 2025-10-04, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! WORST CASE MAP SIZE: `1000000` +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 + +// Executed Command: +// frame-omni-bencher +// v1 +// benchmark +// pallet +// --extrinsic=* +// --runtime=target/production/wbuild/asset-hub-westend-runtime/asset_hub_westend_runtime.wasm +// --pallet=pallet_election_provider_multi_block_signed +// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt +// --output=./cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights +// --wasm-execution=compiled +// --steps=50 +// --repeat=20 +// --heap-pages=4096 +// --no-storage-info +// --no-min-squares +// --no-median-slopes + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] +#![allow(missing_docs)] + +use frame_support::{traits::Get, weights::Weight}; +use core::marker::PhantomData; + +/// Weight functions for `pallet_election_provider_multi_block_signed`. +pub struct WeightInfo(PhantomData); +impl pallet_election_provider_multi_block_signed::WeightInfo for WeightInfo { + /// Storage: `MultiBlockElection::CurrentPhase` (r:1 w:0) + /// Proof: `MultiBlockElection::CurrentPhase` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `Measured`) + /// Storage: `MultiBlockElectionSigned::Invulnerables` (r:1 w:0) + /// Proof: `MultiBlockElectionSigned::Invulnerables` (`max_values`: Some(1), `max_size`: Some(513), added: 1008, mode: `Measured`) + /// Storage: `MultiBlockElection::Round` (r:1 w:0) + /// Proof: `MultiBlockElection::Round` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `Measured`) + /// Storage: `MultiBlockElectionSigned::SortedScores` (r:1 w:1) + /// Proof: `MultiBlockElectionSigned::SortedScores` (`max_values`: None, `max_size`: Some(653), added: 3128, mode: `Measured`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(265), added: 2740, mode: `Measured`) + /// Storage: `MultiBlockElectionSigned::SubmissionMetadataStorage` (r:0 w:1) + /// Proof: `MultiBlockElectionSigned::SubmissionMetadataStorage` (`max_values`: None, `max_size`: Some(181), added: 2656, mode: `Measured`) + fn register_not_full() -> Weight { + // Proof Size summary in bytes: + // Measured: `3252` + // Estimated: `6717` + // Minimum execution time: 81_628_000 picoseconds. + Weight::from_parts(83_626_000, 0) + .saturating_add(Weight::from_parts(0, 6717)) + .saturating_add(T::DbWeight::get().reads(5)) + .saturating_add(T::DbWeight::get().writes(3)) + } + /// Storage: `MultiBlockElection::CurrentPhase` (r:1 w:0) + /// Proof: `MultiBlockElection::CurrentPhase` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `Measured`) + /// Storage: `MultiBlockElectionSigned::Invulnerables` (r:1 w:0) + /// Proof: `MultiBlockElectionSigned::Invulnerables` (`max_values`: Some(1), `max_size`: Some(513), added: 1008, mode: `Measured`) + /// Storage: `MultiBlockElection::Round` (r:1 w:0) + /// Proof: `MultiBlockElection::Round` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `Measured`) + /// Storage: `MultiBlockElectionSigned::SortedScores` (r:1 w:1) + /// Proof: `MultiBlockElectionSigned::SortedScores` (`max_values`: None, `max_size`: Some(653), added: 3128, mode: `Measured`) + /// Storage: `Balances::Holds` (r:2 w:2) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(265), added: 2740, mode: `Measured`) + /// Storage: `MultiBlockElectionSigned::SubmissionMetadataStorage` (r:1 w:2) + /// Proof: `MultiBlockElectionSigned::SubmissionMetadataStorage` (`max_values`: None, `max_size`: Some(181), added: 2656, mode: `Measured`) + /// Storage: `MultiBlockElectionSigned::SubmissionStorage` (r:32 w:32) + /// Proof: `MultiBlockElectionSigned::SubmissionStorage` (`max_values`: None, `max_size`: Some(46478), added: 48953, mode: `Measured`) + fn register_eject() -> Weight { + // Proof Size summary in bytes: + // Measured: `7851` + // Estimated: `88041` + // Minimum execution time: 223_238_000 picoseconds. + Weight::from_parts(229_588_000, 0) + .saturating_add(Weight::from_parts(0, 88041)) + .saturating_add(T::DbWeight::get().reads(39)) + .saturating_add(T::DbWeight::get().writes(37)) + } + /// Storage: `MultiBlockElection::CurrentPhase` (r:1 w:0) + /// Proof: `MultiBlockElection::CurrentPhase` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `Measured`) + /// Storage: `MultiBlockElection::Round` (r:1 w:0) + /// Proof: `MultiBlockElection::Round` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `Measured`) + /// Storage: `MultiBlockElectionSigned::SubmissionMetadataStorage` (r:1 w:1) + /// Proof: `MultiBlockElectionSigned::SubmissionMetadataStorage` (`max_values`: None, `max_size`: Some(181), added: 2656, mode: `Measured`) + /// Storage: `MultiBlockElectionSigned::Invulnerables` (r:1 w:0) + /// Proof: `MultiBlockElectionSigned::Invulnerables` (`max_values`: Some(1), `max_size`: Some(513), added: 1008, mode: `Measured`) + /// Storage: `MultiBlockElectionSigned::SortedScores` (r:1 w:0) + /// Proof: `MultiBlockElectionSigned::SortedScores` (`max_values`: None, `max_size`: Some(653), added: 3128, mode: `Measured`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(265), added: 2740, mode: `Measured`) + /// Storage: `MultiBlockElectionSigned::SubmissionStorage` (r:1 w:1) + /// Proof: `MultiBlockElectionSigned::SubmissionStorage` (`max_values`: None, `max_size`: Some(46478), added: 48953, mode: `Measured`) + fn submit_page() -> Weight { + // Proof Size summary in bytes: + // Measured: `3785` + // Estimated: `7250` + // Minimum execution time: 166_059_000 picoseconds. + Weight::from_parts(217_425_000, 0) + .saturating_add(Weight::from_parts(0, 7250)) + .saturating_add(T::DbWeight::get().reads(7)) + .saturating_add(T::DbWeight::get().writes(3)) + } + /// Storage: `MultiBlockElection::CurrentPhase` (r:1 w:0) + /// Proof: `MultiBlockElection::CurrentPhase` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `Measured`) + /// Storage: `MultiBlockElection::Round` (r:1 w:0) + /// Proof: `MultiBlockElection::Round` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `Measured`) + /// Storage: `MultiBlockElectionSigned::SubmissionMetadataStorage` (r:1 w:1) + /// Proof: `MultiBlockElectionSigned::SubmissionMetadataStorage` (`max_values`: None, `max_size`: Some(181), added: 2656, mode: `Measured`) + /// Storage: `MultiBlockElectionSigned::Invulnerables` (r:1 w:0) + /// Proof: `MultiBlockElectionSigned::Invulnerables` (`max_values`: Some(1), `max_size`: Some(513), added: 1008, mode: `Measured`) + /// Storage: `MultiBlockElectionSigned::SortedScores` (r:1 w:0) + /// Proof: `MultiBlockElectionSigned::SortedScores` (`max_values`: None, `max_size`: Some(653), added: 3128, mode: `Measured`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(265), added: 2740, mode: `Measured`) + /// Storage: `MultiBlockElectionSigned::SubmissionStorage` (r:1 w:1) + /// Proof: `MultiBlockElectionSigned::SubmissionStorage` (`max_values`: None, `max_size`: Some(46478), added: 48953, mode: `Measured`) + fn unset_page() -> Weight { + // Proof Size summary in bytes: + // Measured: `3887` + // Estimated: `7352` + // Minimum execution time: 177_739_000 picoseconds. + Weight::from_parts(200_413_000, 0) + .saturating_add(Weight::from_parts(0, 7352)) + .saturating_add(T::DbWeight::get().reads(7)) + .saturating_add(T::DbWeight::get().writes(3)) + } + /// Storage: `MultiBlockElection::CurrentPhase` (r:1 w:0) + /// Proof: `MultiBlockElection::CurrentPhase` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `Measured`) + /// Storage: `MultiBlockElection::Round` (r:1 w:0) + /// Proof: `MultiBlockElection::Round` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `Measured`) + /// Storage: `MultiBlockElectionSigned::SortedScores` (r:1 w:1) + /// Proof: `MultiBlockElectionSigned::SortedScores` (`max_values`: None, `max_size`: Some(653), added: 3128, mode: `Measured`) + /// Storage: `MultiBlockElectionSigned::SubmissionStorage` (r:32 w:32) + /// Proof: `MultiBlockElectionSigned::SubmissionStorage` (`max_values`: None, `max_size`: Some(46478), added: 48953, mode: `Measured`) + /// Storage: `MultiBlockElectionSigned::SubmissionMetadataStorage` (r:1 w:1) + /// Proof: `MultiBlockElectionSigned::SubmissionMetadataStorage` (`max_values`: None, `max_size`: Some(181), added: 2656, mode: `Measured`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(265), added: 2740, mode: `Measured`) + fn bail() -> Weight { + // Proof Size summary in bytes: + // Measured: `4717` + // Estimated: `84907` + // Minimum execution time: 142_371_000 picoseconds. + Weight::from_parts(148_233_000, 0) + .saturating_add(Weight::from_parts(0, 84907)) + .saturating_add(T::DbWeight::get().reads(37)) + .saturating_add(T::DbWeight::get().writes(35)) + } + /// Storage: `MultiBlockElection::Round` (r:1 w:0) + /// Proof: `MultiBlockElection::Round` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `Measured`) + /// Storage: `MultiBlockElectionSigned::SortedScores` (r:1 w:1) + /// Proof: `MultiBlockElectionSigned::SortedScores` (`max_values`: None, `max_size`: Some(653), added: 3128, mode: `Measured`) + /// Storage: `MultiBlockElectionSigned::SubmissionStorage` (r:32 w:32) + /// Proof: `MultiBlockElectionSigned::SubmissionStorage` (`max_values`: None, `max_size`: Some(46478), added: 48953, mode: `Measured`) + /// Storage: `MultiBlockElectionSigned::SubmissionMetadataStorage` (r:1 w:1) + /// Proof: `MultiBlockElectionSigned::SubmissionMetadataStorage` (`max_values`: None, `max_size`: Some(181), added: 2656, mode: `Measured`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(265), added: 2740, mode: `Measured`) + /// Storage: `MultiBlockElectionSigned::Invulnerables` (r:1 w:0) + /// Proof: `MultiBlockElectionSigned::Invulnerables` (`max_values`: Some(1), `max_size`: Some(513), added: 1008, mode: `Measured`) + /// The range of component `p` is `[1, 32]`. + fn clear_old_round_data(p: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `3709 + p * (32 ±0)` + // Estimated: `7174 + p * (2507 ±0)` + // Minimum execution time: 84_927_000 picoseconds. + Weight::from_parts(86_686_795, 0) + .saturating_add(Weight::from_parts(0, 7174)) + // Standard Error: 7_736 + .saturating_add(Weight::from_parts(1_271_896, 0).saturating_mul(p.into())) + .saturating_add(T::DbWeight::get().reads(5)) + .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(p.into()))) + .saturating_add(T::DbWeight::get().writes(3)) + .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(p.into()))) + .saturating_add(Weight::from_parts(0, 2507).saturating_mul(p.into())) + } +} diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_election_provider_multi_block_unsigned.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_election_provider_multi_block_unsigned.rs new file mode 100644 index 0000000000000..d150fe62adeb9 --- /dev/null +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_election_provider_multi_block_unsigned.rs @@ -0,0 +1,104 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! Autogenerated weights for `pallet_election_provider_multi_block_unsigned` +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 +//! DATE: 2025-10-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! WORST CASE MAP SIZE: `1000000` +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 + +// Executed Command: +// frame-omni-bencher +// v1 +// benchmark +// pallet +// --extrinsic=* +// --runtime=target/production/wbuild/asset-hub-westend-runtime/asset_hub_westend_runtime.wasm +// --pallet=pallet_election_provider_multi_block_unsigned +// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt +// --output=./cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights +// --wasm-execution=compiled +// --steps=50 +// --repeat=20 +// --heap-pages=4096 +// --no-storage-info +// --no-min-squares +// --no-median-slopes + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] +#![allow(missing_docs)] + +use frame_support::{traits::Get, weights::Weight}; +use core::marker::PhantomData; + +/// Weight functions for `pallet_election_provider_multi_block_unsigned`. +pub struct WeightInfo(PhantomData); +impl pallet_election_provider_multi_block_unsigned::WeightInfo for WeightInfo { + /// Storage: `MultiBlockElection::CurrentPhase` (r:1 w:0) + /// Proof: `MultiBlockElection::CurrentPhase` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `Measured`) + /// Storage: UNKNOWN KEY `0x33ed3d010c1fea25c2adbfba9297161f` (r:1 w:0) + /// Proof: UNKNOWN KEY `0x33ed3d010c1fea25c2adbfba9297161f` (r:1 w:0) + /// Storage: `MultiBlockElection::Round` (r:1 w:0) + /// Proof: `MultiBlockElection::Round` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `Measured`) + /// Storage: `MultiBlockElectionVerifier::QueuedSolutionScore` (r:1 w:0) + /// Proof: `MultiBlockElectionVerifier::QueuedSolutionScore` (`max_values`: None, `max_size`: Some(60), added: 2535, mode: `Measured`) + /// Storage: `MultiBlockElectionVerifier::MinimumScore` (r:1 w:0) + /// Proof: `MultiBlockElectionVerifier::MinimumScore` (`max_values`: Some(1), `max_size`: Some(48), added: 543, mode: `Measured`) + /// Storage: `MultiBlockElection::DesiredTargets` (r:1 w:0) + /// Proof: `MultiBlockElection::DesiredTargets` (`max_values`: None, `max_size`: Some(16), added: 2491, mode: `Measured`) + /// Storage: UNKNOWN KEY `0xc209f5d8eb920681b56c64b8694ea78c` (r:1 w:0) + /// Proof: UNKNOWN KEY `0xc209f5d8eb920681b56c64b8694ea78c` (r:1 w:0) + fn validate_unsigned() -> Weight { + // Proof Size summary in bytes: + // Measured: `351` + // Estimated: `3816` + // Minimum execution time: 43_132_000 picoseconds. + Weight::from_parts(48_609_000, 0) + .saturating_add(Weight::from_parts(0, 3816)) + .saturating_add(T::DbWeight::get().reads(7)) + } + /// Storage: UNKNOWN KEY `0x33ed3d010c1fea25c2adbfba9297161f` (r:1 w:0) + /// Proof: UNKNOWN KEY `0x33ed3d010c1fea25c2adbfba9297161f` (r:1 w:0) + /// Storage: `MultiBlockElection::Round` (r:1 w:0) + /// Proof: `MultiBlockElection::Round` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `Measured`) + /// Storage: `MultiBlockElectionVerifier::QueuedSolutionScore` (r:1 w:1) + /// Proof: `MultiBlockElectionVerifier::QueuedSolutionScore` (`max_values`: None, `max_size`: Some(60), added: 2535, mode: `Measured`) + /// Storage: `MultiBlockElectionVerifier::MinimumScore` (r:1 w:0) + /// Proof: `MultiBlockElectionVerifier::MinimumScore` (`max_values`: Some(1), `max_size`: Some(48), added: 543, mode: `Measured`) + /// Storage: `MultiBlockElection::PagedTargetSnapshot` (r:1 w:0) + /// Proof: `MultiBlockElection::PagedTargetSnapshot` (`max_values`: None, `max_size`: Some(32026), added: 34501, mode: `Measured`) + /// Storage: `MultiBlockElection::PagedVoterSnapshot` (r:2 w:0) + /// Proof: `MultiBlockElection::PagedVoterSnapshot` (`max_values`: None, `max_size`: Some(388785), added: 391260, mode: `Measured`) + /// Storage: `MultiBlockElection::DesiredTargets` (r:1 w:0) + /// Proof: `MultiBlockElection::DesiredTargets` (`max_values`: None, `max_size`: Some(16), added: 2491, mode: `Measured`) + /// Storage: `MultiBlockElectionVerifier::QueuedValidVariant` (r:1 w:0) + /// Proof: `MultiBlockElectionVerifier::QueuedValidVariant` (`max_values`: None, `max_size`: Some(13), added: 2488, mode: `Measured`) + /// Storage: `MultiBlockElectionVerifier::QueuedSolutionY` (r:0 w:2) + /// Proof: `MultiBlockElectionVerifier::QueuedSolutionY` (`max_values`: None, `max_size`: Some(33794026), added: 33796501, mode: `Measured`) + fn submit_unsigned() -> Weight { + // Proof Size summary in bytes: + // Measured: `148612` + // Estimated: `154552` + // Minimum execution time: 682_488_000 picoseconds. + Weight::from_parts(741_852_000, 0) + .saturating_add(Weight::from_parts(0, 154552)) + .saturating_add(T::DbWeight::get().reads(9)) + .saturating_add(T::DbWeight::get().writes(3)) + } +} diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_fast_unstake.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_fast_unstake.rs index f091c18b46c18..edbc6b4ebb577 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_fast_unstake.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_fast_unstake.rs @@ -1,5 +1,4 @@ // Copyright (C) Parity Technologies (UK) Ltd. -// This file is part of Cumulus. // SPDX-License-Identifier: Apache-2.0 // Licensed under the Apache License, Version 2.0 (the "License"); @@ -16,28 +15,29 @@ //! Autogenerated weights for `pallet_fast_unstake` //! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2023-06-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 +//! DATE: 2025-10-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `runner--ss9ysm1-project-163-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("westend-dev"), DB CACHE: 1024 +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: -// ./target/production/polkadot +// frame-omni-bencher +// v1 // benchmark // pallet -// --chain=westend-dev +// --extrinsic=* +// --runtime=target/production/wbuild/asset-hub-westend-runtime/asset_hub_westend_runtime.wasm +// --pallet=pallet_fast_unstake +// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt +// --output=./cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights +// --wasm-execution=compiled // --steps=50 // --repeat=20 +// --heap-pages=4096 // --no-storage-info -// --no-median-slopes // --no-min-squares -// --pallet=pallet_fast_unstake -// --extrinsic=* -// --execution=wasm -// --wasm-execution=compiled -// --header=./file_header.txt -// --output=./runtime/westend/src/weights/ +// --no-median-slopes #![cfg_attr(rustfmt, rustfmt_skip)] #![allow(unused_parens)] @@ -50,153 +50,146 @@ use core::marker::PhantomData; /// Weight functions for `pallet_fast_unstake`. pub struct WeightInfo(PhantomData); impl pallet_fast_unstake::WeightInfo for WeightInfo { - /// Storage: FastUnstake ErasToCheckPerBlock (r:1 w:0) - /// Proof: FastUnstake ErasToCheckPerBlock (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen) - /// Storage: Staking ValidatorCount (r:1 w:0) - /// Proof: Staking ValidatorCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen) - /// Storage: FastUnstake Head (r:1 w:1) - /// Proof: FastUnstake Head (max_values: Some(1), max_size: Some(3087), added: 3582, mode: MaxEncodedLen) - /// Storage: FastUnstake CounterForQueue (r:1 w:0) - /// Proof: FastUnstake CounterForQueue (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen) - /// Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:0) - /// Proof Skipped: ElectionProviderMultiPhase CurrentPhase (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Staking CurrentEra (r:1 w:0) - /// Proof: Staking CurrentEra (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen) - /// Storage: Staking SlashingSpans (r:64 w:0) - /// Proof Skipped: Staking SlashingSpans (max_values: None, max_size: None, mode: Measured) - /// Storage: Staking Bonded (r:64 w:64) - /// Proof: Staking Bonded (max_values: None, max_size: Some(72), added: 2547, mode: MaxEncodedLen) - /// Storage: Staking Validators (r:64 w:0) - /// Proof: Staking Validators (max_values: None, max_size: Some(45), added: 2520, mode: MaxEncodedLen) - /// Storage: Staking Nominators (r:64 w:0) - /// Proof: Staking Nominators (max_values: None, max_size: Some(558), added: 3033, mode: MaxEncodedLen) - /// Storage: System Account (r:64 w:64) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - /// Storage: Balances Locks (r:64 w:64) - /// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen) - /// Storage: Balances Freezes (r:64 w:0) - /// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen) - /// Storage: Staking Ledger (r:0 w:64) - /// Proof: Staking Ledger (max_values: None, max_size: Some(1091), added: 3566, mode: MaxEncodedLen) - /// Storage: Staking Payee (r:0 w:64) - /// Proof: Staking Payee (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen) + /// Storage: `FastUnstake::ErasToCheckPerBlock` (r:1 w:0) + /// Proof: `FastUnstake::ErasToCheckPerBlock` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Staking::ValidatorCount` (r:1 w:0) + /// Proof: `Staking::ValidatorCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `FastUnstake::Head` (r:1 w:1) + /// Proof: `FastUnstake::Head` (`max_values`: Some(1), `max_size`: Some(3087), added: 3582, mode: `MaxEncodedLen`) + /// Storage: `FastUnstake::CounterForQueue` (r:1 w:0) + /// Proof: `FastUnstake::CounterForQueue` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `MultiBlockElection::CurrentPhase` (r:1 w:0) + /// Proof: `MultiBlockElection::CurrentPhase` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`) + /// Storage: `Staking::CurrentEra` (r:1 w:0) + /// Proof: `Staking::CurrentEra` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Staking::Bonded` (r:64 w:64) + /// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`) + /// Storage: `Staking::Ledger` (r:64 w:64) + /// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(753), added: 3228, mode: `MaxEncodedLen`) + /// Storage: `Staking::VirtualStakers` (r:64 w:64) + /// Proof: `Staking::VirtualStakers` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`) + /// Storage: `Balances::Holds` (r:64 w:64) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(265), added: 2740, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:64 w:64) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Staking::Validators` (r:64 w:0) + /// Proof: `Staking::Validators` (`max_values`: None, `max_size`: Some(45), added: 2520, mode: `MaxEncodedLen`) + /// Storage: `Staking::Nominators` (r:64 w:0) + /// Proof: `Staking::Nominators` (`max_values`: None, `max_size`: Some(558), added: 3033, mode: `MaxEncodedLen`) + /// Storage: `Staking::Payee` (r:0 w:64) + /// Proof: `Staking::Payee` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) /// The range of component `b` is `[1, 64]`. fn on_idle_unstake(b: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1090 + b * (344 ±0)` - // Estimated: `4572 + b * (3774 ±0)` - // Minimum execution time: 88_455_000 picoseconds. - Weight::from_parts(4_625_058, 0) + // Measured: `29363 + b * (3798 ±0)` + // Estimated: `4572 + b * (3228 ±0)` + // Minimum execution time: 152_469_000 picoseconds. + Weight::from_parts(155_823_000, 0) .saturating_add(Weight::from_parts(0, 4572)) - // Standard Error: 92_258 - .saturating_add(Weight::from_parts(61_451_756, 0).saturating_mul(b.into())) + // Standard Error: 227_451 + .saturating_add(Weight::from_parts(122_465_655, 0).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().reads((7_u64).saturating_mul(b.into()))) .saturating_add(T::DbWeight::get().writes(1)) - .saturating_add(T::DbWeight::get().writes((5_u64).saturating_mul(b.into()))) - .saturating_add(Weight::from_parts(0, 3774).saturating_mul(b.into())) + .saturating_add(T::DbWeight::get().writes((6_u64).saturating_mul(b.into()))) + .saturating_add(Weight::from_parts(0, 3228).saturating_mul(b.into())) } - /// Storage: FastUnstake ErasToCheckPerBlock (r:1 w:0) - /// Proof: FastUnstake ErasToCheckPerBlock (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen) - /// Storage: Staking ValidatorCount (r:1 w:0) - /// Proof: Staking ValidatorCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen) - /// Storage: FastUnstake Head (r:1 w:1) - /// Proof: FastUnstake Head (max_values: Some(1), max_size: Some(3087), added: 3582, mode: MaxEncodedLen) - /// Storage: FastUnstake CounterForQueue (r:1 w:0) - /// Proof: FastUnstake CounterForQueue (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen) - /// Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:0) - /// Proof Skipped: ElectionProviderMultiPhase CurrentPhase (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Staking CurrentEra (r:1 w:0) - /// Proof: Staking CurrentEra (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen) - /// Storage: Staking ErasStakers (r:257 w:0) - /// Proof Skipped: Staking ErasStakers (max_values: None, max_size: None, mode: Measured) + /// Storage: `FastUnstake::ErasToCheckPerBlock` (r:1 w:0) + /// Proof: `FastUnstake::ErasToCheckPerBlock` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Staking::ValidatorCount` (r:1 w:0) + /// Proof: `Staking::ValidatorCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `FastUnstake::Head` (r:1 w:1) + /// Proof: `FastUnstake::Head` (`max_values`: Some(1), `max_size`: Some(3087), added: 3582, mode: `MaxEncodedLen`) + /// Storage: `FastUnstake::CounterForQueue` (r:1 w:0) + /// Proof: `FastUnstake::CounterForQueue` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `MultiBlockElection::CurrentPhase` (r:1 w:0) + /// Proof: `MultiBlockElection::CurrentPhase` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`) + /// Storage: `Staking::CurrentEra` (r:1 w:0) + /// Proof: `Staking::CurrentEra` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Staking::ErasStakersPaged` (r:257 w:0) + /// Proof: `Staking::ErasStakersPaged` (`max_values`: None, `max_size`: Some(3152), added: 5627, mode: `MaxEncodedLen`) /// The range of component `v` is `[1, 256]`. /// The range of component `b` is `[1, 64]`. fn on_idle_check(v: u32, b: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1304 + b * (48 ±0) + v * (2485 ±0)` - // Estimated: `4622 + b * (49 ±0) + v * (4961 ±0)` - // Minimum execution time: 737_381_000 picoseconds. - Weight::from_parts(747_714_000, 0) - .saturating_add(Weight::from_parts(0, 4622)) - // Standard Error: 4_194_752 - .saturating_add(Weight::from_parts(135_818_708, 0).saturating_mul(v.into())) - // Standard Error: 16_783_682 - .saturating_add(Weight::from_parts(525_457_699, 0).saturating_mul(b.into())) + // Measured: `1531 + b * (48 ±0) + v * (2373 ±0)` + // Estimated: `6617 + v * (5627 ±0)` + // Minimum execution time: 683_436_000 picoseconds. + Weight::from_parts(697_434_000, 0) + .saturating_add(Weight::from_parts(0, 6617)) + // Standard Error: 2_972_089 + .saturating_add(Weight::from_parts(97_560_475, 0).saturating_mul(v.into())) + // Standard Error: 11_891_666 + .saturating_add(Weight::from_parts(371_637_178, 0).saturating_mul(b.into())) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(v.into()))) .saturating_add(T::DbWeight::get().writes(1)) - .saturating_add(Weight::from_parts(0, 49).saturating_mul(b.into())) - .saturating_add(Weight::from_parts(0, 4961).saturating_mul(v.into())) + .saturating_add(Weight::from_parts(0, 5627).saturating_mul(v.into())) } - /// Storage: FastUnstake ErasToCheckPerBlock (r:1 w:0) - /// Proof: FastUnstake ErasToCheckPerBlock (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen) - /// Storage: Staking Ledger (r:1 w:1) - /// Proof: Staking Ledger (max_values: None, max_size: Some(1091), added: 3566, mode: MaxEncodedLen) - /// Storage: FastUnstake Queue (r:1 w:1) - /// Proof: FastUnstake Queue (max_values: None, max_size: Some(56), added: 2531, mode: MaxEncodedLen) - /// Storage: FastUnstake Head (r:1 w:0) - /// Proof: FastUnstake Head (max_values: Some(1), max_size: Some(3087), added: 3582, mode: MaxEncodedLen) - /// Storage: Staking Bonded (r:1 w:0) - /// Proof: Staking Bonded (max_values: None, max_size: Some(72), added: 2547, mode: MaxEncodedLen) - /// Storage: Staking Validators (r:1 w:0) - /// Proof: Staking Validators (max_values: None, max_size: Some(45), added: 2520, mode: MaxEncodedLen) - /// Storage: Staking Nominators (r:1 w:1) - /// Proof: Staking Nominators (max_values: None, max_size: Some(558), added: 3033, mode: MaxEncodedLen) - /// Storage: Staking CounterForNominators (r:1 w:1) - /// Proof: Staking CounterForNominators (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen) - /// Storage: VoterList ListNodes (r:1 w:1) - /// Proof: VoterList ListNodes (max_values: None, max_size: Some(154), added: 2629, mode: MaxEncodedLen) - /// Storage: VoterList ListBags (r:1 w:1) - /// Proof: VoterList ListBags (max_values: None, max_size: Some(82), added: 2557, mode: MaxEncodedLen) - /// Storage: VoterList CounterForListNodes (r:1 w:1) - /// Proof: VoterList CounterForListNodes (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen) - /// Storage: Staking CurrentEra (r:1 w:0) - /// Proof: Staking CurrentEra (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen) - /// Storage: Balances Locks (r:1 w:1) - /// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen) - /// Storage: Balances Freezes (r:1 w:0) - /// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen) - /// Storage: FastUnstake CounterForQueue (r:1 w:1) - /// Proof: FastUnstake CounterForQueue (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen) + /// Storage: `FastUnstake::ErasToCheckPerBlock` (r:1 w:0) + /// Proof: `FastUnstake::ErasToCheckPerBlock` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Staking::Ledger` (r:1 w:1) + /// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(753), added: 3228, mode: `MaxEncodedLen`) + /// Storage: `Staking::Bonded` (r:1 w:0) + /// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`) + /// Storage: `FastUnstake::Queue` (r:1 w:1) + /// Proof: `FastUnstake::Queue` (`max_values`: None, `max_size`: Some(56), added: 2531, mode: `MaxEncodedLen`) + /// Storage: `FastUnstake::Head` (r:1 w:0) + /// Proof: `FastUnstake::Head` (`max_values`: Some(1), `max_size`: Some(3087), added: 3582, mode: `MaxEncodedLen`) + /// Storage: `Staking::Validators` (r:1 w:0) + /// Proof: `Staking::Validators` (`max_values`: None, `max_size`: Some(45), added: 2520, mode: `MaxEncodedLen`) + /// Storage: `Staking::Nominators` (r:1 w:0) + /// Proof: `Staking::Nominators` (`max_values`: None, `max_size`: Some(558), added: 3033, mode: `MaxEncodedLen`) + /// Storage: `Staking::ActiveEra` (r:1 w:0) + /// Proof: `Staking::ActiveEra` (`max_values`: Some(1), `max_size`: Some(13), added: 508, mode: `MaxEncodedLen`) + /// Storage: `Staking::VirtualStakers` (r:1 w:0) + /// Proof: `Staking::VirtualStakers` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`) + /// Storage: `Balances::Holds` (r:1 w:0) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(265), added: 2740, mode: `MaxEncodedLen`) + /// Storage: `VoterList::ListNodes` (r:1 w:0) + /// Proof: `VoterList::ListNodes` (`max_values`: None, `max_size`: Some(154), added: 2629, mode: `MaxEncodedLen`) + /// Storage: `FastUnstake::CounterForQueue` (r:1 w:1) + /// Proof: `FastUnstake::CounterForQueue` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) fn register_fast_unstake() -> Weight { // Proof Size summary in bytes: - // Measured: `1826` - // Estimated: `4764` - // Minimum execution time: 122_429_000 picoseconds. - Weight::from_parts(125_427_000, 0) - .saturating_add(Weight::from_parts(0, 4764)) - .saturating_add(T::DbWeight::get().reads(15)) - .saturating_add(T::DbWeight::get().writes(9)) + // Measured: `11194` + // Estimated: `4572` + // Minimum execution time: 166_692_000 picoseconds. + Weight::from_parts(172_209_000, 0) + .saturating_add(Weight::from_parts(0, 4572)) + .saturating_add(T::DbWeight::get().reads(12)) + .saturating_add(T::DbWeight::get().writes(3)) } - /// Storage: FastUnstake ErasToCheckPerBlock (r:1 w:0) - /// Proof: FastUnstake ErasToCheckPerBlock (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen) - /// Storage: Staking Ledger (r:1 w:0) - /// Proof: Staking Ledger (max_values: None, max_size: Some(1091), added: 3566, mode: MaxEncodedLen) - /// Storage: FastUnstake Queue (r:1 w:1) - /// Proof: FastUnstake Queue (max_values: None, max_size: Some(56), added: 2531, mode: MaxEncodedLen) - /// Storage: FastUnstake Head (r:1 w:0) - /// Proof: FastUnstake Head (max_values: Some(1), max_size: Some(3087), added: 3582, mode: MaxEncodedLen) - /// Storage: FastUnstake CounterForQueue (r:1 w:1) - /// Proof: FastUnstake CounterForQueue (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen) + /// Storage: `FastUnstake::ErasToCheckPerBlock` (r:1 w:0) + /// Proof: `FastUnstake::ErasToCheckPerBlock` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Staking::Ledger` (r:1 w:0) + /// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(753), added: 3228, mode: `MaxEncodedLen`) + /// Storage: `Staking::Bonded` (r:1 w:0) + /// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`) + /// Storage: `FastUnstake::Queue` (r:1 w:1) + /// Proof: `FastUnstake::Queue` (`max_values`: None, `max_size`: Some(56), added: 2531, mode: `MaxEncodedLen`) + /// Storage: `FastUnstake::Head` (r:1 w:0) + /// Proof: `FastUnstake::Head` (`max_values`: Some(1), `max_size`: Some(3087), added: 3582, mode: `MaxEncodedLen`) + /// Storage: `FastUnstake::CounterForQueue` (r:1 w:1) + /// Proof: `FastUnstake::CounterForQueue` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) fn deregister() -> Weight { // Proof Size summary in bytes: - // Measured: `1118` + // Measured: `5720` // Estimated: `4572` - // Minimum execution time: 43_442_000 picoseconds. - Weight::from_parts(44_728_000, 0) + // Minimum execution time: 74_964_000 picoseconds. + Weight::from_parts(82_883_000, 0) .saturating_add(Weight::from_parts(0, 4572)) - .saturating_add(T::DbWeight::get().reads(5)) + .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(2)) } - /// Storage: FastUnstake ErasToCheckPerBlock (r:0 w:1) - /// Proof: FastUnstake ErasToCheckPerBlock (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen) + /// Storage: `FastUnstake::ErasToCheckPerBlock` (r:0 w:1) + /// Proof: `FastUnstake::ErasToCheckPerBlock` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) fn control() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 2_471_000 picoseconds. - Weight::from_parts(2_667_000, 0) + // Minimum execution time: 2_706_000 picoseconds. + Weight::from_parts(3_157_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_message_queue.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_message_queue.rs index fb8e4957e6bea..0ffc07c85c0a5 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_message_queue.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_message_queue.rs @@ -16,9 +16,9 @@ //! Autogenerated weights for `pallet_message_queue` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2025-10-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `73b9817d6032`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: @@ -56,10 +56,10 @@ impl pallet_message_queue::WeightInfo for WeightInfo /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) fn ready_ring_knit() -> Weight { // Proof Size summary in bytes: - // Measured: `260` + // Measured: `294` // Estimated: `6044` - // Minimum execution time: 14_362_000 picoseconds. - Weight::from_parts(14_849_000, 0) + // Minimum execution time: 16_990_000 picoseconds. + Weight::from_parts(17_657_000, 0) .saturating_add(Weight::from_parts(0, 6044)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) @@ -70,10 +70,10 @@ impl pallet_message_queue::WeightInfo for WeightInfo /// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`) fn ready_ring_unknit() -> Weight { // Proof Size summary in bytes: - // Measured: `255` + // Measured: `289` // Estimated: `6044` - // Minimum execution time: 13_021_000 picoseconds. - Weight::from_parts(13_501_000, 0) + // Minimum execution time: 15_657_000 picoseconds. + Weight::from_parts(16_102_000, 0) .saturating_add(Weight::from_parts(0, 6044)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) @@ -82,10 +82,10 @@ impl pallet_message_queue::WeightInfo for WeightInfo /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) fn service_queue_base() -> Weight { // Proof Size summary in bytes: - // Measured: `42` + // Measured: `76` // Estimated: `3517` - // Minimum execution time: 4_869_000 picoseconds. - Weight::from_parts(5_064_000, 0) + // Minimum execution time: 5_121_000 picoseconds. + Weight::from_parts(5_501_000, 0) .saturating_add(Weight::from_parts(0, 3517)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -94,10 +94,10 @@ impl pallet_message_queue::WeightInfo for WeightInfo /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(105521), added: 107996, mode: `MaxEncodedLen`) fn service_page_base_completion() -> Weight { // Proof Size summary in bytes: - // Measured: `109` + // Measured: `143` // Estimated: `108986` - // Minimum execution time: 6_930_000 picoseconds. - Weight::from_parts(7_292_000, 0) + // Minimum execution time: 7_821_000 picoseconds. + Weight::from_parts(8_173_000, 0) .saturating_add(Weight::from_parts(0, 108986)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -106,10 +106,10 @@ impl pallet_message_queue::WeightInfo for WeightInfo /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(105521), added: 107996, mode: `MaxEncodedLen`) fn service_page_base_no_completion() -> Weight { // Proof Size summary in bytes: - // Measured: `109` + // Measured: `143` // Estimated: `108986` - // Minimum execution time: 7_185_000 picoseconds. - Weight::from_parts(7_596_000, 0) + // Minimum execution time: 7_562_000 picoseconds. + Weight::from_parts(8_081_000, 0) .saturating_add(Weight::from_parts(0, 108986)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -122,8 +122,8 @@ impl pallet_message_queue::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 299_194_000 picoseconds. - Weight::from_parts(301_045_000, 0) + // Minimum execution time: 283_036_000 picoseconds. + Weight::from_parts(291_412_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -133,10 +133,10 @@ impl pallet_message_queue::WeightInfo for WeightInfo /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) fn bump_service_head() -> Weight { // Proof Size summary in bytes: - // Measured: `208` + // Measured: `242` // Estimated: `3517` - // Minimum execution time: 8_430_000 picoseconds. - Weight::from_parts(8_825_000, 0) + // Minimum execution time: 8_902_000 picoseconds. + Weight::from_parts(9_670_000, 0) .saturating_add(Weight::from_parts(0, 3517)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -147,10 +147,10 @@ impl pallet_message_queue::WeightInfo for WeightInfo /// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`) fn set_service_head() -> Weight { // Proof Size summary in bytes: - // Measured: `198` + // Measured: `232` // Estimated: `3517` - // Minimum execution time: 6_889_000 picoseconds. - Weight::from_parts(7_176_000, 0) + // Minimum execution time: 7_615_000 picoseconds. + Weight::from_parts(8_093_000, 0) .saturating_add(Weight::from_parts(0, 3517)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -161,10 +161,10 @@ impl pallet_message_queue::WeightInfo for WeightInfo /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(105521), added: 107996, mode: `MaxEncodedLen`) fn reap_page() -> Weight { // Proof Size summary in bytes: - // Measured: `105646` + // Measured: `105680` // Estimated: `108986` - // Minimum execution time: 116_350_000 picoseconds. - Weight::from_parts(120_462_000, 0) + // Minimum execution time: 93_108_000 picoseconds. + Weight::from_parts(99_428_000, 0) .saturating_add(Weight::from_parts(0, 108986)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -175,10 +175,10 @@ impl pallet_message_queue::WeightInfo for WeightInfo /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(105521), added: 107996, mode: `MaxEncodedLen`) fn execute_overweight_page_removed() -> Weight { // Proof Size summary in bytes: - // Measured: `105646` + // Measured: `105680` // Estimated: `108986` - // Minimum execution time: 143_107_000 picoseconds. - Weight::from_parts(144_541_000, 0) + // Minimum execution time: 125_176_000 picoseconds. + Weight::from_parts(132_673_000, 0) .saturating_add(Weight::from_parts(0, 108986)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -189,10 +189,10 @@ impl pallet_message_queue::WeightInfo for WeightInfo /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(105521), added: 107996, mode: `MaxEncodedLen`) fn execute_overweight_page_updated() -> Weight { // Proof Size summary in bytes: - // Measured: `105646` + // Measured: `105680` // Estimated: `108986` - // Minimum execution time: 207_420_000 picoseconds. - Weight::from_parts(210_451_000, 0) + // Minimum execution time: 197_300_000 picoseconds. + Weight::from_parts(202_072_000, 0) .saturating_add(Weight::from_parts(0, 108986)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_migrations.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_migrations.rs index f8a81b7ca552c..482a6b18196a5 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_migrations.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_migrations.rs @@ -16,9 +16,9 @@ //! Autogenerated weights for `pallet_migrations` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2025-10-04, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `73b9817d6032`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: @@ -56,10 +56,10 @@ impl pallet_migrations::WeightInfo for WeightInfo { /// Proof: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0) fn onboard_new_mbms() -> Weight { // Proof Size summary in bytes: - // Measured: `171` + // Measured: `370` // Estimated: `67035` - // Minimum execution time: 8_557_000 picoseconds. - Weight::from_parts(8_759_000, 0) + // Minimum execution time: 9_612_000 picoseconds. + Weight::from_parts(10_132_000, 0) .saturating_add(Weight::from_parts(0, 67035)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -68,10 +68,10 @@ impl pallet_migrations::WeightInfo for WeightInfo { /// Proof: `MultiBlockMigrations::Cursor` (`max_values`: Some(1), `max_size`: Some(65550), added: 66045, mode: `MaxEncodedLen`) fn progress_mbms_none() -> Weight { // Proof Size summary in bytes: - // Measured: `42` + // Measured: `109` // Estimated: `67035` - // Minimum execution time: 2_551_000 picoseconds. - Weight::from_parts(2_698_000, 0) + // Minimum execution time: 2_759_000 picoseconds. + Weight::from_parts(2_931_000, 0) .saturating_add(Weight::from_parts(0, 67035)) .saturating_add(T::DbWeight::get().reads(1)) } @@ -81,11 +81,11 @@ impl pallet_migrations::WeightInfo for WeightInfo { /// Proof: `MultiBlockMigrations::Cursor` (`max_values`: Some(1), `max_size`: Some(65550), added: 66045, mode: `MaxEncodedLen`) fn exec_migration_completed() -> Weight { // Proof Size summary in bytes: - // Measured: `129` - // Estimated: `3594` - // Minimum execution time: 6_111_000 picoseconds. - Weight::from_parts(6_378_000, 0) - .saturating_add(Weight::from_parts(0, 3594)) + // Measured: `261` + // Estimated: `3726` + // Minimum execution time: 7_174_000 picoseconds. + Weight::from_parts(7_515_000, 0) + .saturating_add(Weight::from_parts(0, 3726)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -95,11 +95,11 @@ impl pallet_migrations::WeightInfo for WeightInfo { /// Proof: `MultiBlockMigrations::Historic` (`max_values`: None, `max_size`: Some(266), added: 2741, mode: `MaxEncodedLen`) fn exec_migration_skipped_historic() -> Weight { // Proof Size summary in bytes: - // Measured: `225` - // Estimated: `3731` - // Minimum execution time: 11_833_000 picoseconds. - Weight::from_parts(12_308_000, 0) - .saturating_add(Weight::from_parts(0, 3731)) + // Measured: `424` + // Estimated: `3889` + // Minimum execution time: 12_774_000 picoseconds. + Weight::from_parts(13_380_000, 0) + .saturating_add(Weight::from_parts(0, 3889)) .saturating_add(T::DbWeight::get().reads(2)) } /// Storage: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0) @@ -108,11 +108,11 @@ impl pallet_migrations::WeightInfo for WeightInfo { /// Proof: `MultiBlockMigrations::Historic` (`max_values`: None, `max_size`: Some(266), added: 2741, mode: `MaxEncodedLen`) fn exec_migration_advance() -> Weight { // Proof Size summary in bytes: - // Measured: `171` - // Estimated: `3731` - // Minimum execution time: 11_068_000 picoseconds. - Weight::from_parts(11_511_000, 0) - .saturating_add(Weight::from_parts(0, 3731)) + // Measured: `370` + // Estimated: `3835` + // Minimum execution time: 12_448_000 picoseconds. + Weight::from_parts(13_005_000, 0) + .saturating_add(Weight::from_parts(0, 3835)) .saturating_add(T::DbWeight::get().reads(2)) } /// Storage: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0) @@ -121,11 +121,11 @@ impl pallet_migrations::WeightInfo for WeightInfo { /// Proof: `MultiBlockMigrations::Historic` (`max_values`: None, `max_size`: Some(266), added: 2741, mode: `MaxEncodedLen`) fn exec_migration_complete() -> Weight { // Proof Size summary in bytes: - // Measured: `171` - // Estimated: `3731` - // Minimum execution time: 12_781_000 picoseconds. - Weight::from_parts(13_217_000, 0) - .saturating_add(Weight::from_parts(0, 3731)) + // Measured: `370` + // Estimated: `3835` + // Minimum execution time: 14_528_000 picoseconds. + Weight::from_parts(15_088_000, 0) + .saturating_add(Weight::from_parts(0, 3835)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -137,11 +137,11 @@ impl pallet_migrations::WeightInfo for WeightInfo { /// Proof: `MultiBlockMigrations::Cursor` (`max_values`: Some(1), `max_size`: Some(65550), added: 66045, mode: `MaxEncodedLen`) fn exec_migration_fail() -> Weight { // Proof Size summary in bytes: - // Measured: `171` - // Estimated: `3731` - // Minimum execution time: 13_525_000 picoseconds. - Weight::from_parts(14_043_000, 0) - .saturating_add(Weight::from_parts(0, 3731)) + // Measured: `370` + // Estimated: `3835` + // Minimum execution time: 15_223_000 picoseconds. + Weight::from_parts(15_862_000, 0) + .saturating_add(Weight::from_parts(0, 3835)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -149,8 +149,8 @@ impl pallet_migrations::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 180_000 picoseconds. - Weight::from_parts(229_000, 0) + // Minimum execution time: 230_000 picoseconds. + Weight::from_parts(257_000, 0) .saturating_add(Weight::from_parts(0, 0)) } /// Storage: `MultiBlockMigrations::Cursor` (r:0 w:1) @@ -159,8 +159,8 @@ impl pallet_migrations::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 2_604_000 picoseconds. - Weight::from_parts(2_908_000, 0) + // Minimum execution time: 3_347_000 picoseconds. + Weight::from_parts(3_587_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -170,8 +170,8 @@ impl pallet_migrations::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 3_055_000 picoseconds. - Weight::from_parts(3_311_000, 0) + // Minimum execution time: 3_846_000 picoseconds. + Weight::from_parts(4_092_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -181,10 +181,10 @@ impl pallet_migrations::WeightInfo for WeightInfo { /// Proof: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0) fn force_onboard_mbms() -> Weight { // Proof Size summary in bytes: - // Measured: `147` + // Measured: `346` // Estimated: `67035` - // Minimum execution time: 6_226_000 picoseconds. - Weight::from_parts(6_495_000, 0) + // Minimum execution time: 6_953_000 picoseconds. + Weight::from_parts(7_382_000, 0) .saturating_add(Weight::from_parts(0, 67035)) .saturating_add(T::DbWeight::get().reads(2)) } @@ -193,13 +193,13 @@ impl pallet_migrations::WeightInfo for WeightInfo { /// The range of component `n` is `[0, 256]`. fn clear_historic(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1022 + n * (271 ±0)` + // Measured: `1089 + n * (271 ±0)` // Estimated: `3834 + n * (2740 ±0)` - // Minimum execution time: 16_549_000 picoseconds. - Weight::from_parts(14_560_688, 0) + // Minimum execution time: 20_477_000 picoseconds. + Weight::from_parts(19_660_419, 0) .saturating_add(Weight::from_parts(0, 3834)) - // Standard Error: 3_426 - .saturating_add(Weight::from_parts(1_450_852, 0).saturating_mul(n.into())) + // Standard Error: 4_454 + .saturating_add(Weight::from_parts(1_639_012, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into()))) @@ -210,13 +210,13 @@ impl pallet_migrations::WeightInfo for WeightInfo { /// The range of component `n` is `[0, 2048]`. fn reset_pallet_migration(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `1680 + n * (38 ±0)` - // Estimated: `758 + n * (39 ±0)` - // Minimum execution time: 2_197_000 picoseconds. - Weight::from_parts(7_311_418, 0) - .saturating_add(Weight::from_parts(0, 758)) - // Standard Error: 1_533 - .saturating_add(Weight::from_parts(844_965, 0).saturating_mul(n.into())) + // Measured: `1714 + n * (38 ±0)` + // Estimated: `792 + n * (39 ±0)` + // Minimum execution time: 2_827_000 picoseconds. + Weight::from_parts(21_171_520, 0) + .saturating_add(Weight::from_parts(0, 792)) + // Standard Error: 2_096 + .saturating_add(Weight::from_parts(961_556, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into()))) .saturating_add(Weight::from_parts(0, 39).saturating_mul(n.into())) diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_multisig.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_multisig.rs index 307b028844154..2b9d3bf051452 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_multisig.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_multisig.rs @@ -16,9 +16,9 @@ //! Autogenerated weights for `pallet_multisig` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-25, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2025-10-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `c8c7296f7413`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: @@ -55,11 +55,11 @@ impl pallet_multisig::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 15_819_000 picoseconds. - Weight::from_parts(16_264_115, 0) + // Minimum execution time: 39_709_000 picoseconds. + Weight::from_parts(48_003_562, 0) .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 23 - .saturating_add(Weight::from_parts(801, 0).saturating_mul(z.into())) + // Standard Error: 43 + .saturating_add(Weight::from_parts(4_169, 0).saturating_mul(z.into())) } /// Storage: `Multisig::Multisigs` (r:1 w:1) /// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`) @@ -67,15 +67,15 @@ impl pallet_multisig::WeightInfo for WeightInfo { /// The range of component `z` is `[0, 10000]`. fn as_multi_create(s: u32, z: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `295 + s * (2 ±0)` + // Measured: `1454` // Estimated: `6811` - // Minimum execution time: 47_212_000 picoseconds. - Weight::from_parts(32_568_978, 0) + // Minimum execution time: 82_508_000 picoseconds. + Weight::from_parts(50_206_857, 0) .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 3_178 - .saturating_add(Weight::from_parts(154_052, 0).saturating_mul(s.into())) - // Standard Error: 31 - .saturating_add(Weight::from_parts(2_348, 0).saturating_mul(z.into())) + // Standard Error: 5_292 + .saturating_add(Weight::from_parts(382_196, 0).saturating_mul(s.into())) + // Standard Error: 51 + .saturating_add(Weight::from_parts(4_263, 0).saturating_mul(z.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -85,15 +85,15 @@ impl pallet_multisig::WeightInfo for WeightInfo { /// The range of component `z` is `[0, 10000]`. fn as_multi_approve(s: u32, z: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `315` + // Measured: `419` // Estimated: `6811` - // Minimum execution time: 32_417_000 picoseconds. - Weight::from_parts(17_400_688, 0) + // Minimum execution time: 49_586_000 picoseconds. + Weight::from_parts(25_142_968, 0) .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 3_165 - .saturating_add(Weight::from_parts(149_105, 0).saturating_mul(s.into())) - // Standard Error: 30 - .saturating_add(Weight::from_parts(2_325, 0).saturating_mul(z.into())) + // Standard Error: 3_875 + .saturating_add(Weight::from_parts(280_191, 0).saturating_mul(s.into())) + // Standard Error: 37 + .saturating_add(Weight::from_parts(4_580, 0).saturating_mul(z.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -105,15 +105,15 @@ impl pallet_multisig::WeightInfo for WeightInfo { /// The range of component `z` is `[0, 10000]`. fn as_multi_complete(s: u32, z: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `418 + s * (33 ±0)` + // Measured: `1596 + s * (32 ±0)` // Estimated: `6811` - // Minimum execution time: 53_462_000 picoseconds. - Weight::from_parts(39_946_704, 0) + // Minimum execution time: 88_482_000 picoseconds. + Weight::from_parts(51_250_967, 0) .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 6_271 - .saturating_add(Weight::from_parts(180_027, 0).saturating_mul(s.into())) - // Standard Error: 61 - .saturating_add(Weight::from_parts(2_190, 0).saturating_mul(z.into())) + // Standard Error: 5_154 + .saturating_add(Weight::from_parts(479_858, 0).saturating_mul(s.into())) + // Standard Error: 50 + .saturating_add(Weight::from_parts(4_549, 0).saturating_mul(z.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -122,13 +122,13 @@ impl pallet_multisig::WeightInfo for WeightInfo { /// The range of component `s` is `[2, 100]`. fn approve_as_multi_create(s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `296 + s * (2 ±0)` + // Measured: `1454` // Estimated: `6811` - // Minimum execution time: 29_523_000 picoseconds. - Weight::from_parts(31_632_836, 0) + // Minimum execution time: 41_557_000 picoseconds. + Weight::from_parts(45_748_957, 0) .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 2_330 - .saturating_add(Weight::from_parts(170_695, 0).saturating_mul(s.into())) + // Standard Error: 4_023 + .saturating_add(Weight::from_parts(420_332, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -137,13 +137,13 @@ impl pallet_multisig::WeightInfo for WeightInfo { /// The range of component `s` is `[2, 100]`. fn approve_as_multi_approve(s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `315` + // Measured: `419` // Estimated: `6811` - // Minimum execution time: 17_471_000 picoseconds. - Weight::from_parts(18_501_369, 0) + // Minimum execution time: 20_531_000 picoseconds. + Weight::from_parts(24_107_239, 0) .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 1_310 - .saturating_add(Weight::from_parts(132_081, 0).saturating_mul(s.into())) + // Standard Error: 2_983 + .saturating_add(Weight::from_parts(304_423, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -152,13 +152,13 @@ impl pallet_multisig::WeightInfo for WeightInfo { /// The range of component `s` is `[2, 100]`. fn cancel_as_multi(s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `487 + s * (1 ±0)` + // Measured: `1660` // Estimated: `6811` - // Minimum execution time: 30_715_000 picoseconds. - Weight::from_parts(32_330_651, 0) + // Minimum execution time: 41_297_000 picoseconds. + Weight::from_parts(48_435_693, 0) .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 1_147 - .saturating_add(Weight::from_parts(152_071, 0).saturating_mul(s.into())) + // Standard Error: 3_664 + .saturating_add(Weight::from_parts(322_322, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -167,13 +167,13 @@ impl pallet_multisig::WeightInfo for WeightInfo { /// The range of component `s` is `[2, 100]`. fn poke_deposit(s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `487 + s * (1 ±0)` + // Measured: `1660` // Estimated: `6811` - // Minimum execution time: 29_011_000 picoseconds. - Weight::from_parts(30_639_580, 0) + // Minimum execution time: 40_274_000 picoseconds. + Weight::from_parts(46_922_158, 0) .saturating_add(Weight::from_parts(0, 6811)) - // Standard Error: 1_876 - .saturating_add(Weight::from_parts(164_361, 0).saturating_mul(s.into())) + // Standard Error: 4_085 + .saturating_add(Weight::from_parts(336_670, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_nft_fractionalization.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_nft_fractionalization.rs index 28c1ea9b96648..0beb031bc8790 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_nft_fractionalization.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_nft_fractionalization.rs @@ -16,9 +16,9 @@ //! Autogenerated weights for `pallet_nft_fractionalization` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2025-10-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `73b9817d6032`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: @@ -53,7 +53,7 @@ impl pallet_nft_fractionalization::WeightInfo for Weigh /// Storage: `Nfts::Item` (r:1 w:0) /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) /// Storage: `Balances::Holds` (r:1 w:1) - /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(157), added: 2632, mode: `MaxEncodedLen`) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(265), added: 2740, mode: `MaxEncodedLen`) /// Storage: `Nfts::Attribute` (r:1 w:1) /// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`) /// Storage: `Nfts::Collection` (r:1 w:1) @@ -72,10 +72,10 @@ impl pallet_nft_fractionalization::WeightInfo for Weigh /// Proof: `NftFractionalization::NftToAsset` (`max_values`: None, `max_size`: Some(92), added: 2567, mode: `MaxEncodedLen`) fn fractionalize() -> Weight { // Proof Size summary in bytes: - // Measured: `459` + // Measured: `3508` // Estimated: `4326` - // Minimum execution time: 183_512_000 picoseconds. - Weight::from_parts(187_719_000, 0) + // Minimum execution time: 232_413_000 picoseconds. + Weight::from_parts(238_333_000, 0) .saturating_add(Weight::from_parts(0, 4326)) .saturating_add(T::DbWeight::get().reads(9)) .saturating_add(T::DbWeight::get().writes(8)) @@ -89,7 +89,7 @@ impl pallet_nft_fractionalization::WeightInfo for Weigh /// Storage: `AssetsFreezer::FrozenBalances` (r:1 w:1) /// Proof: `AssetsFreezer::FrozenBalances` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) /// Storage: `AssetsFreezer::Freezes` (r:2 w:1) - /// Proof: `AssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(87), added: 2562, mode: `MaxEncodedLen`) + /// Proof: `AssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(105), added: 2580, mode: `MaxEncodedLen`) /// Storage: `Nfts::Attribute` (r:1 w:1) /// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`) /// Storage: `Nfts::Collection` (r:1 w:1) @@ -101,7 +101,7 @@ impl pallet_nft_fractionalization::WeightInfo for Weigh /// Storage: `Nfts::Item` (r:1 w:1) /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) /// Storage: `Balances::Holds` (r:1 w:1) - /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(157), added: 2632, mode: `MaxEncodedLen`) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(265), added: 2740, mode: `MaxEncodedLen`) /// Storage: `Nfts::Account` (r:0 w:1) /// Proof: `Nfts::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`) /// Storage: `Nfts::ItemPriceOf` (r:0 w:1) @@ -110,11 +110,11 @@ impl pallet_nft_fractionalization::WeightInfo for Weigh /// Proof: `Nfts::PendingSwapOf` (`max_values`: None, `max_size`: Some(71), added: 2546, mode: `MaxEncodedLen`) fn unify() -> Weight { // Proof Size summary in bytes: - // Measured: `1284` - // Estimated: `6114` - // Minimum execution time: 162_307_000 picoseconds. - Weight::from_parts(164_950_000, 0) - .saturating_add(Weight::from_parts(0, 6114)) + // Measured: `3096` + // Estimated: `6150` + // Minimum execution time: 188_184_000 picoseconds. + Weight::from_parts(192_188_000, 0) + .saturating_add(Weight::from_parts(0, 6150)) .saturating_add(T::DbWeight::get().reads(12)) .saturating_add(T::DbWeight::get().writes(12)) } diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_nfts.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_nfts.rs index 8ce870f76717f..75f605a3202cc 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_nfts.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_nfts.rs @@ -16,9 +16,9 @@ //! Autogenerated weights for `pallet_nfts` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2025-10-04, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `73b9817d6032`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: @@ -62,10 +62,10 @@ impl pallet_nfts::WeightInfo for WeightInfo { /// Proof: `Nfts::CollectionAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) fn create() -> Weight { // Proof Size summary in bytes: - // Measured: `106` + // Measured: `1244` // Estimated: `3549` - // Minimum execution time: 34_066_000 picoseconds. - Weight::from_parts(34_918_000, 0) + // Minimum execution time: 45_828_000 picoseconds. + Weight::from_parts(48_489_000, 0) .saturating_add(Weight::from_parts(0, 3549)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(5)) @@ -84,8 +84,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `3` // Estimated: `3549` - // Minimum execution time: 19_307_000 picoseconds. - Weight::from_parts(20_073_000, 0) + // Minimum execution time: 22_333_000 picoseconds. + Weight::from_parts(23_045_000, 0) .saturating_add(Weight::from_parts(0, 3549)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(5)) @@ -109,15 +109,19 @@ impl pallet_nfts::WeightInfo for WeightInfo { /// The range of component `m` is `[0, 1000]`. /// The range of component `c` is `[0, 1000]`. /// The range of component `a` is `[0, 1000]`. - fn destroy(_m: u32, _c: u32, a: u32, ) -> Weight { + fn destroy(m: u32, c: u32, a: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `32131 + a * (366 ±0)` // Estimated: `2523990 + a * (2954 ±0)` - // Minimum execution time: 1_351_277_000 picoseconds. - Weight::from_parts(1_588_591_386, 0) + // Minimum execution time: 1_579_060_000 picoseconds. + Weight::from_parts(1_132_205_300, 0) .saturating_add(Weight::from_parts(0, 2523990)) - // Standard Error: 11_817 - .saturating_add(Weight::from_parts(7_319_695, 0).saturating_mul(a.into())) + // Standard Error: 13_375 + .saturating_add(Weight::from_parts(215_768, 0).saturating_mul(m.into())) + // Standard Error: 13_375 + .saturating_add(Weight::from_parts(192_461, 0).saturating_mul(c.into())) + // Standard Error: 13_375 + .saturating_add(Weight::from_parts(8_093_292, 0).saturating_mul(a.into())) .saturating_add(T::DbWeight::get().reads(1004)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(a.into()))) .saturating_add(T::DbWeight::get().writes(1005)) @@ -130,6 +134,10 @@ impl pallet_nfts::WeightInfo for WeightInfo { /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) /// Storage: `Nfts::Collection` (r:1 w:1) /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::LastRelayChainBlockNumber` (r:1 w:0) + /// Proof: `ParachainSystem::LastRelayChainBlockNumber` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// Storage: `Nfts::CollectionRoleOf` (r:1 w:0) /// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) /// Storage: `Nfts::ItemConfigOf` (r:1 w:1) @@ -138,12 +146,12 @@ impl pallet_nfts::WeightInfo for WeightInfo { /// Proof: `Nfts::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`) fn mint() -> Weight { // Proof Size summary in bytes: - // Measured: `382` + // Measured: `491` // Estimated: `4326` - // Minimum execution time: 50_793_000 picoseconds. - Weight::from_parts(52_604_000, 0) + // Minimum execution time: 61_112_000 picoseconds. + Weight::from_parts(62_719_000, 0) .saturating_add(Weight::from_parts(0, 4326)) - .saturating_add(T::DbWeight::get().reads(5)) + .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().writes(4)) } /// Storage: `Nfts::CollectionRoleOf` (r:1 w:0) @@ -162,8 +170,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `382` // Estimated: `4326` - // Minimum execution time: 48_807_000 picoseconds. - Weight::from_parts(50_432_000, 0) + // Minimum execution time: 58_325_000 picoseconds. + Weight::from_parts(60_857_000, 0) .saturating_add(Weight::from_parts(0, 4326)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(4)) @@ -190,8 +198,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `491` // Estimated: `4326` - // Minimum execution time: 53_953_000 picoseconds. - Weight::from_parts(55_440_000, 0) + // Minimum execution time: 62_634_000 picoseconds. + Weight::from_parts(64_084_000, 0) .saturating_add(Weight::from_parts(0, 4326)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(7)) @@ -216,8 +224,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `520` // Estimated: `4326` - // Minimum execution time: 46_381_000 picoseconds. - Weight::from_parts(47_550_000, 0) + // Minimum execution time: 49_973_000 picoseconds. + Weight::from_parts(53_006_000, 0) .saturating_add(Weight::from_parts(0, 4326)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(5)) @@ -233,11 +241,11 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `690 + i * (108 ±0)` // Estimated: `3549 + i * (3336 ±0)` - // Minimum execution time: 15_396_000 picoseconds. - Weight::from_parts(15_667_000, 0) + // Minimum execution time: 18_711_000 picoseconds. + Weight::from_parts(19_222_000, 0) .saturating_add(Weight::from_parts(0, 3549)) - // Standard Error: 25_176 - .saturating_add(Weight::from_parts(18_296_481, 0).saturating_mul(i.into())) + // Standard Error: 35_330 + .saturating_add(Weight::from_parts(21_601_904, 0).saturating_mul(i.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(i.into()))) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(i.into()))) @@ -251,8 +259,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `362` // Estimated: `3534` - // Minimum execution time: 19_622_000 picoseconds. - Weight::from_parts(20_507_000, 0) + // Minimum execution time: 23_030_000 picoseconds. + Weight::from_parts(24_320_000, 0) .saturating_add(Weight::from_parts(0, 3534)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -265,8 +273,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `362` // Estimated: `3534` - // Minimum execution time: 19_513_000 picoseconds. - Weight::from_parts(20_508_000, 0) + // Minimum execution time: 22_576_000 picoseconds. + Weight::from_parts(23_979_000, 0) .saturating_add(Weight::from_parts(0, 3534)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -279,8 +287,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `267` // Estimated: `3549` - // Minimum execution time: 16_241_000 picoseconds. - Weight::from_parts(16_659_000, 0) + // Minimum execution time: 19_087_000 picoseconds. + Weight::from_parts(20_366_000, 0) .saturating_add(Weight::from_parts(0, 3549)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -295,10 +303,10 @@ impl pallet_nfts::WeightInfo for WeightInfo { /// Proof: `Nfts::CollectionAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) fn transfer_ownership() -> Weight { // Proof Size summary in bytes: - // Measured: `418` + // Measured: `1693` // Estimated: `3593` - // Minimum execution time: 27_539_000 picoseconds. - Weight::from_parts(28_537_000, 0) + // Minimum execution time: 36_025_000 picoseconds. + Weight::from_parts(37_431_000, 0) .saturating_add(Weight::from_parts(0, 3593)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(5)) @@ -311,8 +319,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `296` // Estimated: `6078` - // Minimum execution time: 39_857_000 picoseconds. - Weight::from_parts(41_110_000, 0) + // Minimum execution time: 47_845_000 picoseconds. + Weight::from_parts(49_384_000, 0) .saturating_add(Weight::from_parts(0, 6078)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(5)) @@ -325,8 +333,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `238` // Estimated: `3549` - // Minimum execution time: 15_915_000 picoseconds. - Weight::from_parts(16_754_000, 0) + // Minimum execution time: 18_107_000 picoseconds. + Weight::from_parts(18_957_000, 0) .saturating_add(Weight::from_parts(0, 3549)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(3)) @@ -339,8 +347,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `203` // Estimated: `3549` - // Minimum execution time: 12_671_000 picoseconds. - Weight::from_parts(13_126_000, 0) + // Minimum execution time: 14_087_000 picoseconds. + Weight::from_parts(14_796_000, 0) .saturating_add(Weight::from_parts(0, 3549)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -353,8 +361,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `362` // Estimated: `3534` - // Minimum execution time: 18_385_000 picoseconds. - Weight::from_parts(19_181_000, 0) + // Minimum execution time: 21_901_000 picoseconds. + Weight::from_parts(22_989_000, 0) .saturating_add(Weight::from_parts(0, 3534)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -373,8 +381,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `466` // Estimated: `3944` - // Minimum execution time: 52_225_000 picoseconds. - Weight::from_parts(54_038_000, 0) + // Minimum execution time: 59_939_000 picoseconds. + Weight::from_parts(61_971_000, 0) .saturating_add(Weight::from_parts(0, 3944)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(2)) @@ -387,8 +395,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `271` // Estimated: `3944` - // Minimum execution time: 25_276_000 picoseconds. - Weight::from_parts(26_624_000, 0) + // Minimum execution time: 29_011_000 picoseconds. + Weight::from_parts(30_249_000, 0) .saturating_add(Weight::from_parts(0, 3944)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -405,8 +413,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `910` // Estimated: `3944` - // Minimum execution time: 52_052_000 picoseconds. - Weight::from_parts(53_182_000, 0) + // Minimum execution time: 55_187_000 picoseconds. + Weight::from_parts(56_770_000, 0) .saturating_add(Weight::from_parts(0, 3944)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(2)) @@ -419,8 +427,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `308` // Estimated: `4466` - // Minimum execution time: 16_624_000 picoseconds. - Weight::from_parts(17_398_000, 0) + // Minimum execution time: 18_808_000 picoseconds. + Weight::from_parts(19_303_000, 0) .saturating_add(Weight::from_parts(0, 4466)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -436,13 +444,13 @@ impl pallet_nfts::WeightInfo for WeightInfo { /// The range of component `n` is `[0, 1000]`. fn cancel_item_attributes_approval(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `687 + n * (398 ±0)` + // Measured: `1962 + n * (398 ±0)` // Estimated: `4466 + n * (2954 ±0)` - // Minimum execution time: 26_108_000 picoseconds. - Weight::from_parts(26_587_000, 0) + // Minimum execution time: 32_235_000 picoseconds. + Weight::from_parts(32_722_000, 0) .saturating_add(Weight::from_parts(0, 4466)) - // Standard Error: 4_483 - .saturating_add(Weight::from_parts(7_107_904, 0).saturating_mul(n.into())) + // Standard Error: 15_795 + .saturating_add(Weight::from_parts(8_324_360, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(2)) @@ -463,8 +471,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `466` // Estimated: `3812` - // Minimum execution time: 42_032_000 picoseconds. - Weight::from_parts(43_081_000, 0) + // Minimum execution time: 48_417_000 picoseconds. + Weight::from_parts(50_632_000, 0) .saturating_add(Weight::from_parts(0, 3812)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(2)) @@ -481,8 +489,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `776` // Estimated: `3812` - // Minimum execution time: 43_915_000 picoseconds. - Weight::from_parts(45_461_000, 0) + // Minimum execution time: 46_096_000 picoseconds. + Weight::from_parts(47_630_000, 0) .saturating_add(Weight::from_parts(0, 3812)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(2)) @@ -499,8 +507,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `325` // Estimated: `3759` - // Minimum execution time: 37_463_000 picoseconds. - Weight::from_parts(38_991_000, 0) + // Minimum execution time: 45_810_000 picoseconds. + Weight::from_parts(49_135_000, 0) .saturating_add(Weight::from_parts(0, 3759)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(2)) @@ -517,8 +525,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `643` // Estimated: `3759` - // Minimum execution time: 37_129_000 picoseconds. - Weight::from_parts(38_417_000, 0) + // Minimum execution time: 43_091_000 picoseconds. + Weight::from_parts(45_001_000, 0) .saturating_add(Weight::from_parts(0, 3759)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(2)) @@ -527,26 +535,34 @@ impl pallet_nfts::WeightInfo for WeightInfo { /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) /// Storage: `Nfts::CollectionConfigOf` (r:1 w:0) /// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::LastRelayChainBlockNumber` (r:1 w:0) + /// Proof: `ParachainSystem::LastRelayChainBlockNumber` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) fn approve_transfer() -> Weight { // Proof Size summary in bytes: - // Measured: `337` + // Measured: `446` // Estimated: `4326` - // Minimum execution time: 18_940_000 picoseconds. - Weight::from_parts(19_763_000, 0) + // Minimum execution time: 26_292_000 picoseconds. + Weight::from_parts(27_592_000, 0) .saturating_add(Weight::from_parts(0, 4326)) - .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(1)) } /// Storage: `Nfts::Item` (r:1 w:1) /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::LastRelayChainBlockNumber` (r:1 w:0) + /// Proof: `ParachainSystem::LastRelayChainBlockNumber` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) fn cancel_approval() -> Weight { // Proof Size summary in bytes: - // Measured: `345` + // Measured: `454` // Estimated: `4326` - // Minimum execution time: 16_519_000 picoseconds. - Weight::from_parts(16_966_000, 0) + // Minimum execution time: 22_958_000 picoseconds. + Weight::from_parts(23_959_000, 0) .saturating_add(Weight::from_parts(0, 4326)) - .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(1)) } /// Storage: `Nfts::Item` (r:1 w:1) @@ -555,8 +571,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `345` // Estimated: `4326` - // Minimum execution time: 15_381_000 picoseconds. - Weight::from_parts(16_344_000, 0) + // Minimum execution time: 16_930_000 picoseconds. + Weight::from_parts(17_922_000, 0) .saturating_add(Weight::from_parts(0, 4326)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -567,8 +583,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `3` // Estimated: `3517` - // Minimum execution time: 12_533_000 picoseconds. - Weight::from_parts(13_008_000, 0) + // Minimum execution time: 14_124_000 picoseconds. + Weight::from_parts(15_070_000, 0) .saturating_add(Weight::from_parts(0, 3517)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -581,8 +597,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `267` // Estimated: `3549` - // Minimum execution time: 17_894_000 picoseconds. - Weight::from_parts(18_669_000, 0) + // Minimum execution time: 21_230_000 picoseconds. + Weight::from_parts(22_233_000, 0) .saturating_add(Weight::from_parts(0, 3549)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -595,8 +611,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `250` // Estimated: `3538` - // Minimum execution time: 17_157_000 picoseconds. - Weight::from_parts(17_784_000, 0) + // Minimum execution time: 18_260_000 picoseconds. + Weight::from_parts(19_194_000, 0) .saturating_add(Weight::from_parts(0, 3538)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -613,8 +629,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `445` // Estimated: `4326` - // Minimum execution time: 23_106_000 picoseconds. - Weight::from_parts(24_347_000, 0) + // Minimum execution time: 27_479_000 picoseconds. + Weight::from_parts(28_943_000, 0) .saturating_add(Weight::from_parts(0, 4326)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(1)) @@ -639,8 +655,8 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `632` // Estimated: `4326` - // Minimum execution time: 55_619_000 picoseconds. - Weight::from_parts(57_654_000, 0) + // Minimum execution time: 59_638_000 picoseconds. + Weight::from_parts(60_852_000, 0) .saturating_add(Weight::from_parts(0, 4326)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(5)) @@ -650,44 +666,50 @@ impl pallet_nfts::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 2_094_000 picoseconds. - Weight::from_parts(3_413_045, 0) + // Minimum execution time: 2_409_000 picoseconds. + Weight::from_parts(4_145_306, 0) .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 6_868 - .saturating_add(Weight::from_parts(1_981_673, 0).saturating_mul(n.into())) + // Standard Error: 8_487 + .saturating_add(Weight::from_parts(2_364_472, 0).saturating_mul(n.into())) } /// Storage: `Nfts::Item` (r:2 w:0) /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// Storage: `Nfts::PendingSwapOf` (r:0 w:1) /// Proof: `Nfts::PendingSwapOf` (`max_values`: None, `max_size`: Some(71), added: 2546, mode: `MaxEncodedLen`) fn create_swap() -> Weight { // Proof Size summary in bytes: - // Measured: `421` + // Measured: `597` // Estimated: `7662` - // Minimum execution time: 20_234_000 picoseconds. - Weight::from_parts(21_061_000, 0) + // Minimum execution time: 28_404_000 picoseconds. + Weight::from_parts(30_430_000, 0) .saturating_add(Weight::from_parts(0, 7662)) - .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(1)) } /// Storage: `Nfts::PendingSwapOf` (r:1 w:1) /// Proof: `Nfts::PendingSwapOf` (`max_values`: None, `max_size`: Some(71), added: 2546, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// Storage: `Nfts::Item` (r:1 w:0) /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) fn cancel_swap() -> Weight { // Proof Size summary in bytes: - // Measured: `440` + // Measured: `616` // Estimated: `4326` - // Minimum execution time: 24_566_000 picoseconds. - Weight::from_parts(25_453_000, 0) + // Minimum execution time: 29_270_000 picoseconds. + Weight::from_parts(30_019_000, 0) .saturating_add(Weight::from_parts(0, 4326)) - .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(1)) } /// Storage: `Nfts::Item` (r:2 w:2) /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) /// Storage: `Nfts::PendingSwapOf` (r:1 w:2) /// Proof: `Nfts::PendingSwapOf` (`max_values`: None, `max_size`: Some(71), added: 2546, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// Storage: `Nfts::Collection` (r:1 w:0) /// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) /// Storage: `Nfts::Attribute` (r:2 w:0) @@ -702,14 +724,16 @@ impl pallet_nfts::WeightInfo for WeightInfo { /// Proof: `Nfts::ItemPriceOf` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`) fn claim_swap() -> Weight { // Proof Size summary in bytes: - // Measured: `761` + // Measured: `937` // Estimated: `7662` - // Minimum execution time: 88_227_000 picoseconds. - Weight::from_parts(91_859_000, 0) + // Minimum execution time: 102_656_000 picoseconds. + Weight::from_parts(106_220_000, 0) .saturating_add(Weight::from_parts(0, 7662)) - .saturating_add(T::DbWeight::get().reads(9)) + .saturating_add(T::DbWeight::get().reads(10)) .saturating_add(T::DbWeight::get().writes(10)) } + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// Storage: `Nfts::CollectionRoleOf` (r:2 w:0) /// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`) /// Storage: `Nfts::CollectionConfigOf` (r:1 w:0) @@ -731,19 +755,21 @@ impl pallet_nfts::WeightInfo for WeightInfo { /// The range of component `n` is `[0, 10]`. fn mint_pre_signed(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `485` + // Measured: `1936` // Estimated: `6078 + n * (2954 ±0)` - // Minimum execution time: 131_317_000 picoseconds. - Weight::from_parts(138_001_140, 0) + // Minimum execution time: 163_741_000 picoseconds. + Weight::from_parts(178_824_100, 0) .saturating_add(Weight::from_parts(0, 6078)) - // Standard Error: 60_000 - .saturating_add(Weight::from_parts(33_446_120, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(8)) + // Standard Error: 81_878 + .saturating_add(Weight::from_parts(38_169_926, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(9)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(6)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into()))) .saturating_add(Weight::from_parts(0, 2954).saturating_mul(n.into())) } + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// Storage: `Nfts::Item` (r:1 w:0) /// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`) /// Storage: `Nfts::ItemAttributesApprovalsOf` (r:1 w:1) @@ -759,14 +785,14 @@ impl pallet_nfts::WeightInfo for WeightInfo { /// The range of component `n` is `[0, 10]`. fn set_attributes_pre_signed(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `515` - // Estimated: `4466 + n * (2954 ±0)` - // Minimum execution time: 68_122_000 picoseconds. - Weight::from_parts(81_135_062, 0) + // Measured: `1796` + // Estimated: `4466 + n * (2954 ±5)` + // Minimum execution time: 80_706_000 picoseconds. + Weight::from_parts(98_633_977, 0) .saturating_add(Weight::from_parts(0, 4466)) - // Standard Error: 77_041 - .saturating_add(Weight::from_parts(32_419_216, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(4)) + // Standard Error: 103_095 + .saturating_add(Weight::from_parts(37_514_868, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(2)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into()))) diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_proxy.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_proxy.rs index 09a94907f0d18..db8c466bbf138 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_proxy.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_proxy.rs @@ -16,9 +16,9 @@ //! Autogenerated weights for `pallet_proxy` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-03-04, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2025-10-04, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `99fc4dfa9c86`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: @@ -55,17 +55,21 @@ impl pallet_proxy::WeightInfo for WeightInfo { /// The range of component `p` is `[1, 31]`. fn proxy(p: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `161 + p * (37 ±0)` + // Measured: `227 + p * (37 ±0)` // Estimated: `4706` - // Minimum execution time: 14_242_000 picoseconds. - Weight::from_parts(14_960_578, 0) + // Minimum execution time: 18_113_000 picoseconds. + Weight::from_parts(19_298_131, 0) .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 1_137 - .saturating_add(Weight::from_parts(35_649, 0).saturating_mul(p.into())) + // Standard Error: 2_394 + .saturating_add(Weight::from_parts(44_962, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1)) } /// Storage: `Proxy::Proxies` (r:1 w:0) /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::LastRelayChainBlockNumber` (r:1 w:0) + /// Proof: `ParachainSystem::LastRelayChainBlockNumber` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// Storage: `Proxy::Announcements` (r:1 w:1) /// Proof: `Proxy::Announcements` (`max_values`: None, `max_size`: Some(2233), added: 4708, mode: `MaxEncodedLen`) /// Storage: `System::Account` (r:1 w:1) @@ -74,17 +78,19 @@ impl pallet_proxy::WeightInfo for WeightInfo { /// The range of component `p` is `[1, 31]`. fn proxy_announced(a: u32, p: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `488 + a * (68 ±0) + p * (37 ±0)` - // Estimated: `5698` - // Minimum execution time: 41_637_000 picoseconds. - Weight::from_parts(41_169_266, 0) + // Measured: `1836 + a * (68 ±0) + p * (34 ±0)` + // Estimated: `5698 + a * (67 ±0) + p * (34 ±0)` + // Minimum execution time: 53_349_000 picoseconds. + Weight::from_parts(54_998_344, 0) .saturating_add(Weight::from_parts(0, 5698)) - // Standard Error: 2_978 - .saturating_add(Weight::from_parts(172_008, 0).saturating_mul(a.into())) - // Standard Error: 3_077 - .saturating_add(Weight::from_parts(68_505, 0).saturating_mul(p.into())) - .saturating_add(T::DbWeight::get().reads(3)) + // Standard Error: 5_162 + .saturating_add(Weight::from_parts(142_314, 0).saturating_mul(a.into())) + // Standard Error: 5_333 + .saturating_add(Weight::from_parts(47_192, 0).saturating_mul(p.into())) + .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(2)) + .saturating_add(Weight::from_parts(0, 67).saturating_mul(a.into())) + .saturating_add(Weight::from_parts(0, 34).saturating_mul(p.into())) } /// Storage: `Proxy::Announcements` (r:1 w:1) /// Proof: `Proxy::Announcements` (`max_values`: None, `max_size`: Some(2233), added: 4708, mode: `MaxEncodedLen`) @@ -94,15 +100,15 @@ impl pallet_proxy::WeightInfo for WeightInfo { /// The range of component `p` is `[1, 31]`. fn remove_announcement(a: u32, p: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `403 + a * (68 ±0)` + // Measured: `1643 + a * (68 ±0)` // Estimated: `5698` - // Minimum execution time: 26_087_000 picoseconds. - Weight::from_parts(26_927_415, 0) + // Minimum execution time: 35_465_000 picoseconds. + Weight::from_parts(36_775_253, 0) .saturating_add(Weight::from_parts(0, 5698)) - // Standard Error: 1_873 - .saturating_add(Weight::from_parts(147_445, 0).saturating_mul(a.into())) - // Standard Error: 1_935 - .saturating_add(Weight::from_parts(22_864, 0).saturating_mul(p.into())) + // Standard Error: 2_775 + .saturating_add(Weight::from_parts(170_236, 0).saturating_mul(a.into())) + // Standard Error: 2_867 + .saturating_add(Weight::from_parts(22_248, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -114,20 +120,24 @@ impl pallet_proxy::WeightInfo for WeightInfo { /// The range of component `p` is `[1, 31]`. fn reject_announcement(a: u32, p: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `403 + a * (68 ±0)` + // Measured: `1643 + a * (68 ±0)` // Estimated: `5698` - // Minimum execution time: 26_473_000 picoseconds. - Weight::from_parts(26_682_318, 0) + // Minimum execution time: 35_643_000 picoseconds. + Weight::from_parts(36_765_373, 0) .saturating_add(Weight::from_parts(0, 5698)) - // Standard Error: 1_651 - .saturating_add(Weight::from_parts(153_500, 0).saturating_mul(a.into())) - // Standard Error: 1_706 - .saturating_add(Weight::from_parts(25_850, 0).saturating_mul(p.into())) + // Standard Error: 2_799 + .saturating_add(Weight::from_parts(172_776, 0).saturating_mul(a.into())) + // Standard Error: 2_892 + .saturating_add(Weight::from_parts(21_990, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } /// Storage: `Proxy::Proxies` (r:1 w:0) /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::LastRelayChainBlockNumber` (r:1 w:0) + /// Proof: `ParachainSystem::LastRelayChainBlockNumber` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// Storage: `Proxy::Announcements` (r:1 w:1) /// Proof: `Proxy::Announcements` (`max_values`: None, `max_size`: Some(2233), added: 4708, mode: `MaxEncodedLen`) /// Storage: `System::Account` (r:1 w:1) @@ -136,30 +146,32 @@ impl pallet_proxy::WeightInfo for WeightInfo { /// The range of component `p` is `[1, 31]`. fn announce(a: u32, p: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `420 + a * (68 ±0) + p * (37 ±0)` - // Estimated: `5698` - // Minimum execution time: 37_884_000 picoseconds. - Weight::from_parts(38_379_964, 0) + // Measured: `1768 + a * (68 ±0) + p * (34 ±0)` + // Estimated: `5698 + a * (67 ±0) + p * (34 ±0)` + // Minimum execution time: 48_317_000 picoseconds. + Weight::from_parts(49_959_951, 0) .saturating_add(Weight::from_parts(0, 5698)) - // Standard Error: 1_965 - .saturating_add(Weight::from_parts(151_226, 0).saturating_mul(a.into())) - // Standard Error: 2_030 - .saturating_add(Weight::from_parts(51_251, 0).saturating_mul(p.into())) - .saturating_add(T::DbWeight::get().reads(3)) + // Standard Error: 3_865 + .saturating_add(Weight::from_parts(156_923, 0).saturating_mul(a.into())) + // Standard Error: 3_994 + .saturating_add(Weight::from_parts(36_154, 0).saturating_mul(p.into())) + .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(2)) + .saturating_add(Weight::from_parts(0, 67).saturating_mul(a.into())) + .saturating_add(Weight::from_parts(0, 34).saturating_mul(p.into())) } /// Storage: `Proxy::Proxies` (r:1 w:1) /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`) /// The range of component `p` is `[1, 31]`. fn add_proxy(p: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `161 + p * (37 ±0)` + // Measured: `227 + p * (37 ±0)` // Estimated: `4706` - // Minimum execution time: 24_317_000 picoseconds. - Weight::from_parts(25_244_966, 0) + // Minimum execution time: 28_846_000 picoseconds. + Weight::from_parts(30_517_141, 0) .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 1_330 - .saturating_add(Weight::from_parts(50_765, 0).saturating_mul(p.into())) + // Standard Error: 1_852 + .saturating_add(Weight::from_parts(65_345, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -168,13 +180,13 @@ impl pallet_proxy::WeightInfo for WeightInfo { /// The range of component `p` is `[1, 31]`. fn remove_proxy(p: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `161 + p * (37 ±0)` + // Measured: `227 + p * (37 ±0)` // Estimated: `4706` - // Minimum execution time: 23_865_000 picoseconds. - Weight::from_parts(25_111_800, 0) + // Minimum execution time: 28_558_000 picoseconds. + Weight::from_parts(30_099_564, 0) .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 1_501 - .saturating_add(Weight::from_parts(45_002, 0).saturating_mul(p.into())) + // Standard Error: 2_310 + .saturating_add(Weight::from_parts(67_210, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -183,29 +195,33 @@ impl pallet_proxy::WeightInfo for WeightInfo { /// The range of component `p` is `[1, 31]`. fn remove_proxies(p: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `161 + p * (37 ±0)` + // Measured: `227 + p * (37 ±0)` // Estimated: `4706` - // Minimum execution time: 21_721_000 picoseconds. - Weight::from_parts(22_626_669, 0) + // Minimum execution time: 25_340_000 picoseconds. + Weight::from_parts(27_287_448, 0) .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 1_314 - .saturating_add(Weight::from_parts(27_650, 0).saturating_mul(p.into())) + // Standard Error: 1_902 + .saturating_add(Weight::from_parts(39_001, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::LastRelayChainBlockNumber` (r:1 w:0) + /// Proof: `ParachainSystem::LastRelayChainBlockNumber` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// Storage: `Proxy::Proxies` (r:1 w:1) /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`) /// The range of component `p` is `[1, 31]`. fn create_pure(p: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `173` + // Measured: `348` // Estimated: `4706` - // Minimum execution time: 25_709_000 picoseconds. - Weight::from_parts(27_143_129, 0) + // Minimum execution time: 35_711_000 picoseconds. + Weight::from_parts(37_551_932, 0) .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 1_723 - .saturating_add(Weight::from_parts(8_047, 0).saturating_mul(p.into())) - .saturating_add(T::DbWeight::get().reads(1)) + // Standard Error: 2_914 + .saturating_add(Weight::from_parts(28_435, 0).saturating_mul(p.into())) + .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(1)) } /// Storage: `Proxy::Proxies` (r:1 w:1) @@ -213,13 +229,13 @@ impl pallet_proxy::WeightInfo for WeightInfo { /// The range of component `p` is `[0, 30]`. fn kill_pure(p: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `198 + p * (37 ±0)` + // Measured: `264 + p * (37 ±0)` // Estimated: `4706` - // Minimum execution time: 22_817_000 picoseconds. - Weight::from_parts(23_755_496, 0) + // Minimum execution time: 30_246_000 picoseconds. + Weight::from_parts(31_940_206, 0) .saturating_add(Weight::from_parts(0, 4706)) - // Standard Error: 1_854 - .saturating_add(Weight::from_parts(33_383, 0).saturating_mul(p.into())) + // Standard Error: 3_029 + .saturating_add(Weight::from_parts(45_988, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -231,10 +247,10 @@ impl pallet_proxy::WeightInfo for WeightInfo { /// Proof: `Proxy::Announcements` (`max_values`: None, `max_size`: Some(2233), added: 4708, mode: `MaxEncodedLen`) fn poke_deposit() -> Weight { // Proof Size summary in bytes: - // Measured: `487` + // Measured: `1625` // Estimated: `5698` - // Minimum execution time: 43_822_000 picoseconds. - Weight::from_parts(45_419_000, 0) + // Minimum execution time: 55_625_000 picoseconds. + Weight::from_parts(57_773_000, 0) .saturating_add(Weight::from_parts(0, 5698)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_revive.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_revive.rs new file mode 100644 index 0000000000000..708ae4a6bc959 --- /dev/null +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_revive.rs @@ -0,0 +1,1195 @@ +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! Autogenerated weights for `pallet_revive` +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 +//! DATE: 2025-10-04, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! WORST CASE MAP SIZE: `1000000` +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 + +// Executed Command: +// frame-omni-bencher +// v1 +// benchmark +// pallet +// --extrinsic=* +// --runtime=target/production/wbuild/asset-hub-westend-runtime/asset_hub_westend_runtime.wasm +// --pallet=pallet_revive +// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt +// --output=./cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights +// --wasm-execution=compiled +// --steps=50 +// --repeat=20 +// --heap-pages=4096 +// --no-storage-info +// --no-min-squares +// --no-median-slopes + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] +#![allow(missing_docs)] + +use frame_support::{traits::Get, weights::Weight}; +use core::marker::PhantomData; + +/// Weight functions for `pallet_revive`. +pub struct WeightInfo(PhantomData); +impl pallet_revive::WeightInfo for WeightInfo { + /// Storage: `Revive::DeletionQueueCounter` (r:1 w:0) + /// Proof: `Revive::DeletionQueueCounter` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `Measured`) + fn on_process_deletion_queue_batch() -> Weight { + // Proof Size summary in bytes: + // Measured: `175` + // Estimated: `1660` + // Minimum execution time: 2_765_000 picoseconds. + Weight::from_parts(3_109_000, 0) + .saturating_add(Weight::from_parts(0, 1660)) + .saturating_add(T::DbWeight::get().reads(1)) + } + /// Storage: `Skipped::Metadata` (r:0 w:0) + /// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `k` is `[0, 1024]`. + fn on_initialize_per_trie_key(k: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `496 + k * (69 ±0)` + // Estimated: `486 + k * (70 ±0)` + // Minimum execution time: 17_310_000 picoseconds. + Weight::from_parts(17_637_000, 0) + .saturating_add(Weight::from_parts(0, 486)) + // Standard Error: 2_254 + .saturating_add(Weight::from_parts(1_406_795, 0).saturating_mul(k.into())) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(k.into()))) + .saturating_add(T::DbWeight::get().writes(2)) + .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(k.into()))) + .saturating_add(Weight::from_parts(0, 70).saturating_mul(k.into())) + } + /// Storage: `Revive::OriginalAccount` (r:2 w:0) + /// Proof: `Revive::OriginalAccount` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `Measured`) + /// Storage: `Revive::AccountInfoOf` (r:1 w:1) + /// Proof: `Revive::AccountInfoOf` (`max_values`: None, `max_size`: Some(247), added: 2722, mode: `Measured`) + /// Storage: `Revive::CodeInfoOf` (r:1 w:0) + /// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`) + /// Storage: `Revive::PristineCode` (r:1 w:0) + /// Proof: `Revive::PristineCode` (`max_values`: None, `max_size`: Some(262180), added: 264655, mode: `Measured`) + /// Storage: `Timestamp::Now` (r:1 w:0) + /// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `Measured`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`) + /// The range of component `c` is `[0, 104857]`. + fn call_with_code_per_byte(c: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `1922 + c * (1 ±0)` + // Estimated: `7871 + c * (1 ±0)` + // Minimum execution time: 98_202_000 picoseconds. + Weight::from_parts(133_830_180, 0) + .saturating_add(Weight::from_parts(0, 7871)) + // Standard Error: 11 + .saturating_add(Weight::from_parts(1_600, 0).saturating_mul(c.into())) + .saturating_add(T::DbWeight::get().reads(7)) + .saturating_add(T::DbWeight::get().writes(2)) + .saturating_add(Weight::from_parts(0, 1).saturating_mul(c.into())) + } + /// Storage: `Revive::OriginalAccount` (r:2 w:0) + /// Proof: `Revive::OriginalAccount` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `Measured`) + /// Storage: `Revive::AccountInfoOf` (r:1 w:1) + /// Proof: `Revive::AccountInfoOf` (`max_values`: None, `max_size`: Some(247), added: 2722, mode: `Measured`) + /// Storage: `Revive::CodeInfoOf` (r:1 w:0) + /// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`) + /// Storage: `Revive::PristineCode` (r:1 w:0) + /// Proof: `Revive::PristineCode` (`max_values`: None, `max_size`: Some(262180), added: 264655, mode: `Measured`) + /// Storage: `Timestamp::Now` (r:1 w:0) + /// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `Measured`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`) + /// The range of component `b` is `[0, 1]`. + fn basic_block_compilation(_b: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `5222` + // Estimated: `11162` + // Minimum execution time: 134_824_000 picoseconds. + Weight::from_parts(139_820_479, 0) + .saturating_add(Weight::from_parts(0, 11162)) + .saturating_add(T::DbWeight::get().reads(7)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `Revive::CodeInfoOf` (r:1 w:1) + /// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`) + /// Storage: `Balances::Holds` (r:2 w:2) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(265), added: 2740, mode: `Measured`) + /// Storage: `Revive::OriginalAccount` (r:1 w:0) + /// Proof: `Revive::OriginalAccount` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `Measured`) + /// Storage: `Revive::AccountInfoOf` (r:1 w:1) + /// Proof: `Revive::AccountInfoOf` (`max_values`: None, `max_size`: Some(247), added: 2722, mode: `Measured`) + /// Storage: `Timestamp::Now` (r:1 w:0) + /// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `Measured`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`) + /// Storage: `Revive::PristineCode` (r:0 w:1) + /// Proof: `Revive::PristineCode` (`max_values`: None, `max_size`: Some(262180), added: 264655, mode: `Measured`) + /// The range of component `c` is `[0, 104857]`. + /// The range of component `i` is `[0, 262144]`. + fn instantiate_with_code(c: u32, i: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `4472` + // Estimated: `10157` + // Minimum execution time: 1_378_027_000 picoseconds. + Weight::from_parts(264_857_848, 0) + .saturating_add(Weight::from_parts(0, 10157)) + // Standard Error: 37 + .saturating_add(Weight::from_parts(19_170, 0).saturating_mul(c.into())) + // Standard Error: 14 + .saturating_add(Weight::from_parts(4_310, 0).saturating_mul(i.into())) + .saturating_add(T::DbWeight::get().reads(7)) + .saturating_add(T::DbWeight::get().writes(6)) + } + /// Storage: `Revive::CodeInfoOf` (r:1 w:1) + /// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`) + /// Storage: `Balances::Holds` (r:2 w:2) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(265), added: 2740, mode: `Measured`) + /// Storage: `Revive::OriginalAccount` (r:1 w:0) + /// Proof: `Revive::OriginalAccount` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `Measured`) + /// Storage: `Revive::AccountInfoOf` (r:2 w:2) + /// Proof: `Revive::AccountInfoOf` (`max_values`: None, `max_size`: Some(247), added: 2722, mode: `Measured`) + /// Storage: `Timestamp::Now` (r:1 w:0) + /// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `Measured`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`) + /// Storage: `Revive::PristineCode` (r:0 w:1) + /// Proof: `Revive::PristineCode` (`max_values`: None, `max_size`: Some(262180), added: 264655, mode: `Measured`) + /// The range of component `c` is `[0, 104857]`. + /// The range of component `i` is `[0, 262144]`. + /// The range of component `d` is `[0, 1]`. + fn eth_instantiate_with_code(c: u32, i: u32, d: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `4274` + // Estimated: `10214 + d * (2475 ±0)` + // Minimum execution time: 347_736_000 picoseconds. + Weight::from_parts(186_000_973, 0) + .saturating_add(Weight::from_parts(0, 10214)) + // Standard Error: 40 + .saturating_add(Weight::from_parts(15_265, 0).saturating_mul(c.into())) + // Standard Error: 16 + .saturating_add(Weight::from_parts(361, 0).saturating_mul(i.into())) + // Standard Error: 2_734_035 + .saturating_add(Weight::from_parts(75_459_067, 0).saturating_mul(d.into())) + .saturating_add(T::DbWeight::get().reads(7)) + .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(d.into()))) + .saturating_add(T::DbWeight::get().writes(6)) + .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(d.into()))) + .saturating_add(Weight::from_parts(0, 2475).saturating_mul(d.into())) + } + /// Storage: `Revive::CodeInfoOf` (r:1 w:1) + /// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`) + /// Storage: `Revive::PristineCode` (r:1 w:0) + /// Proof: `Revive::PristineCode` (`max_values`: None, `max_size`: Some(262180), added: 264655, mode: `Measured`) + /// Storage: `Revive::OriginalAccount` (r:1 w:0) + /// Proof: `Revive::OriginalAccount` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `Measured`) + /// Storage: `Revive::AccountInfoOf` (r:1 w:1) + /// Proof: `Revive::AccountInfoOf` (`max_values`: None, `max_size`: Some(247), added: 2722, mode: `Measured`) + /// Storage: `Timestamp::Now` (r:1 w:0) + /// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `Measured`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(265), added: 2740, mode: `Measured`) + /// The range of component `i` is `[0, 262144]`. + fn instantiate(i: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `3970` + // Estimated: `7418` + // Minimum execution time: 195_932_000 picoseconds. + Weight::from_parts(185_979_775, 0) + .saturating_add(Weight::from_parts(0, 7418)) + // Standard Error: 13 + .saturating_add(Weight::from_parts(4_552, 0).saturating_mul(i.into())) + .saturating_add(T::DbWeight::get().reads(7)) + .saturating_add(T::DbWeight::get().writes(4)) + } + /// Storage: `Revive::OriginalAccount` (r:2 w:0) + /// Proof: `Revive::OriginalAccount` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `Measured`) + /// Storage: `Revive::AccountInfoOf` (r:1 w:1) + /// Proof: `Revive::AccountInfoOf` (`max_values`: None, `max_size`: Some(247), added: 2722, mode: `Measured`) + /// Storage: `Revive::CodeInfoOf` (r:1 w:0) + /// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`) + /// Storage: `Revive::PristineCode` (r:1 w:0) + /// Proof: `Revive::PristineCode` (`max_values`: None, `max_size`: Some(262180), added: 264655, mode: `Measured`) + /// Storage: `Timestamp::Now` (r:1 w:0) + /// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `Measured`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`) + fn call() -> Weight { + // Proof Size summary in bytes: + // Measured: `2622` + // Estimated: `8562` + // Minimum execution time: 100_023_000 picoseconds. + Weight::from_parts(102_582_000, 0) + .saturating_add(Weight::from_parts(0, 8562)) + .saturating_add(T::DbWeight::get().reads(7)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `Revive::OriginalAccount` (r:2 w:0) + /// Proof: `Revive::OriginalAccount` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `Measured`) + /// Storage: `Revive::AccountInfoOf` (r:2 w:2) + /// Proof: `Revive::AccountInfoOf` (`max_values`: None, `max_size`: Some(247), added: 2722, mode: `Measured`) + /// Storage: `Revive::CodeInfoOf` (r:1 w:0) + /// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`) + /// Storage: `Revive::PristineCode` (r:1 w:0) + /// Proof: `Revive::PristineCode` (`max_values`: None, `max_size`: Some(262180), added: 264655, mode: `Measured`) + /// Storage: `Timestamp::Now` (r:1 w:0) + /// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `Measured`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`) + /// The range of component `d` is `[0, 1]`. + fn eth_call(d: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `2622` + // Estimated: `8562 + d * (2475 ±0)` + // Minimum execution time: 97_579_000 picoseconds. + Weight::from_parts(102_586_442, 0) + .saturating_add(Weight::from_parts(0, 8562)) + // Standard Error: 539_164 + .saturating_add(Weight::from_parts(28_104_257, 0).saturating_mul(d.into())) + .saturating_add(T::DbWeight::get().reads(7)) + .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(d.into()))) + .saturating_add(T::DbWeight::get().writes(2)) + .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(d.into()))) + .saturating_add(Weight::from_parts(0, 2475).saturating_mul(d.into())) + } + /// Storage: `Revive::CodeInfoOf` (r:1 w:1) + /// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(265), added: 2740, mode: `Measured`) + /// Storage: `Revive::PristineCode` (r:0 w:1) + /// Proof: `Revive::PristineCode` (`max_values`: None, `max_size`: Some(262180), added: 264655, mode: `Measured`) + /// The range of component `c` is `[0, 104857]`. + fn upload_code(c: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `1968` + // Estimated: `5433` + // Minimum execution time: 65_129_000 picoseconds. + Weight::from_parts(58_146_031, 0) + .saturating_add(Weight::from_parts(0, 5433)) + // Standard Error: 19 + .saturating_add(Weight::from_parts(14_165, 0).saturating_mul(c.into())) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(3)) + } + /// Storage: `Revive::CodeInfoOf` (r:1 w:1) + /// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(265), added: 2740, mode: `Measured`) + /// Storage: `Revive::PristineCode` (r:0 w:1) + /// Proof: `Revive::PristineCode` (`max_values`: None, `max_size`: Some(262180), added: 264655, mode: `Measured`) + fn remove_code() -> Weight { + // Proof Size summary in bytes: + // Measured: `2124` + // Estimated: `5589` + // Minimum execution time: 54_547_000 picoseconds. + Weight::from_parts(56_982_000, 0) + .saturating_add(Weight::from_parts(0, 5589)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(3)) + } + /// Storage: `Revive::AccountInfoOf` (r:1 w:1) + /// Proof: `Revive::AccountInfoOf` (`max_values`: None, `max_size`: Some(247), added: 2722, mode: `Measured`) + /// Storage: `Revive::CodeInfoOf` (r:2 w:2) + /// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`) + fn set_code() -> Weight { + // Proof Size summary in bytes: + // Measured: `592` + // Estimated: `6532` + // Minimum execution time: 23_181_000 picoseconds. + Weight::from_parts(24_513_000, 0) + .saturating_add(Weight::from_parts(0, 6532)) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(3)) + } + /// Storage: `Revive::OriginalAccount` (r:1 w:1) + /// Proof: `Revive::OriginalAccount` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `Measured`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(265), added: 2740, mode: `Measured`) + fn map_account() -> Weight { + // Proof Size summary in bytes: + // Measured: `1968` + // Estimated: `5433` + // Minimum execution time: 62_064_000 picoseconds. + Weight::from_parts(64_293_000, 0) + .saturating_add(Weight::from_parts(0, 5433)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(265), added: 2740, mode: `Measured`) + /// Storage: `Revive::OriginalAccount` (r:0 w:1) + /// Proof: `Revive::OriginalAccount` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `Measured`) + fn unmap_account() -> Weight { + // Proof Size summary in bytes: + // Measured: `1831` + // Estimated: `5296` + // Minimum execution time: 50_667_000 picoseconds. + Weight::from_parts(51_880_000, 0) + .saturating_add(Weight::from_parts(0, 5296)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(2)) + } + fn dispatch_as_fallback_account() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 6_001_000 picoseconds. + Weight::from_parts(6_369_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + /// The range of component `r` is `[0, 1600]`. + fn noop_host_fn(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 8_830_000 picoseconds. + Weight::from_parts(10_325_750, 0) + .saturating_add(Weight::from_parts(0, 0)) + // Standard Error: 253 + .saturating_add(Weight::from_parts(180_928, 0).saturating_mul(r.into())) + } + fn seal_caller() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 374_000 picoseconds. + Weight::from_parts(483_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + fn seal_origin() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 281_000 picoseconds. + Weight::from_parts(408_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + /// Storage: `Revive::OriginalAccount` (r:1 w:0) + /// Proof: `Revive::OriginalAccount` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `Measured`) + fn seal_to_account_id() -> Weight { + // Proof Size summary in bytes: + // Measured: `332` + // Estimated: `3797` + // Minimum execution time: 6_031_000 picoseconds. + Weight::from_parts(6_451_000, 0) + .saturating_add(Weight::from_parts(0, 3797)) + .saturating_add(T::DbWeight::get().reads(1)) + } + /// Storage: `Revive::AccountInfoOf` (r:1 w:0) + /// Proof: `Revive::AccountInfoOf` (`max_values`: None, `max_size`: Some(247), added: 2722, mode: `Measured`) + fn seal_code_hash() -> Weight { + // Proof Size summary in bytes: + // Measured: `469` + // Estimated: `3934` + // Minimum execution time: 8_694_000 picoseconds. + Weight::from_parts(9_206_000, 0) + .saturating_add(Weight::from_parts(0, 3934)) + .saturating_add(T::DbWeight::get().reads(1)) + } + fn seal_own_code_hash() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 338_000 picoseconds. + Weight::from_parts(418_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + /// Storage: `Revive::AccountInfoOf` (r:1 w:0) + /// Proof: `Revive::AccountInfoOf` (`max_values`: None, `max_size`: Some(247), added: 2722, mode: `Measured`) + /// Storage: `Revive::CodeInfoOf` (r:1 w:0) + /// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`) + fn seal_code_size() -> Weight { + // Proof Size summary in bytes: + // Measured: `538` + // Estimated: `4003` + // Minimum execution time: 14_632_000 picoseconds. + Weight::from_parts(15_158_000, 0) + .saturating_add(Weight::from_parts(0, 4003)) + .saturating_add(T::DbWeight::get().reads(2)) + } + fn seal_caller_is_origin() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 395_000 picoseconds. + Weight::from_parts(466_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + fn seal_caller_is_root() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 317_000 picoseconds. + Weight::from_parts(372_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + fn seal_address() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 360_000 picoseconds. + Weight::from_parts(429_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + fn seal_weight_left() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 745_000 picoseconds. + Weight::from_parts(837_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + fn seal_ref_time_left() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 288_000 picoseconds. + Weight::from_parts(366_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + fn seal_balance() -> Weight { + // Proof Size summary in bytes: + // Measured: `1673` + // Estimated: `0` + // Minimum execution time: 16_888_000 picoseconds. + Weight::from_parts(17_707_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + /// Storage: `Revive::OriginalAccount` (r:1 w:0) + /// Proof: `Revive::OriginalAccount` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `Measured`) + /// Storage: `System::Account` (r:1 w:0) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`) + /// Storage: `Revive::AccountInfoOf` (r:1 w:0) + /// Proof: `Revive::AccountInfoOf` (`max_values`: None, `max_size`: Some(247), added: 2722, mode: `Measured`) + fn seal_balance_of() -> Weight { + // Proof Size summary in bytes: + // Measured: `1760` + // Estimated: `5225` + // Minimum execution time: 23_028_000 picoseconds. + Weight::from_parts(24_614_000, 0) + .saturating_add(Weight::from_parts(0, 5225)) + .saturating_add(T::DbWeight::get().reads(3)) + } + /// Storage: `Revive::ImmutableDataOf` (r:1 w:0) + /// Proof: `Revive::ImmutableDataOf` (`max_values`: None, `max_size`: Some(4118), added: 6593, mode: `Measured`) + /// The range of component `n` is `[1, 4096]`. + fn seal_get_immutable_data(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `304 + n * (1 ±0)` + // Estimated: `3769 + n * (1 ±0)` + // Minimum execution time: 6_327_000 picoseconds. + Weight::from_parts(7_390_064, 0) + .saturating_add(Weight::from_parts(0, 3769)) + // Standard Error: 8 + .saturating_add(Weight::from_parts(563, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) + } + /// Storage: `Revive::ImmutableDataOf` (r:0 w:1) + /// Proof: `Revive::ImmutableDataOf` (`max_values`: None, `max_size`: Some(4118), added: 6593, mode: `Measured`) + /// The range of component `n` is `[1, 4096]`. + fn seal_set_immutable_data(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 2_314_000 picoseconds. + Weight::from_parts(2_587_120, 0) + .saturating_add(Weight::from_parts(0, 0)) + // Standard Error: 3 + .saturating_add(Weight::from_parts(580, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().writes(1)) + } + fn seal_value_transferred() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 312_000 picoseconds. + Weight::from_parts(357_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + fn seal_minimum_balance() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 299_000 picoseconds. + Weight::from_parts(338_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + fn seal_return_data_size() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 300_000 picoseconds. + Weight::from_parts(348_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + fn seal_call_data_size() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 285_000 picoseconds. + Weight::from_parts(356_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + fn seal_gas_limit() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 658_000 picoseconds. + Weight::from_parts(736_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + fn seal_gas_price() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 288_000 picoseconds. + Weight::from_parts(357_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + fn seal_base_fee() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 352_000 picoseconds. + Weight::from_parts(393_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + fn seal_block_number() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 330_000 picoseconds. + Weight::from_parts(361_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + /// Storage: `Aura::Authorities` (r:1 w:0) + /// Proof: `Aura::Authorities` (`max_values`: Some(1), `max_size`: Some(3200004), added: 3200499, mode: `Measured`) + /// Storage: `Session::Validators` (r:1 w:0) + /// Proof: `Session::Validators` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn seal_block_author() -> Weight { + // Proof Size summary in bytes: + // Measured: `442` + // Estimated: `1927` + // Minimum execution time: 27_680_000 picoseconds. + Weight::from_parts(28_513_000, 0) + .saturating_add(Weight::from_parts(0, 1927)) + .saturating_add(T::DbWeight::get().reads(2)) + } + /// Storage: `System::BlockHash` (r:1 w:0) + /// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `Measured`) + fn seal_block_hash() -> Weight { + // Proof Size summary in bytes: + // Measured: `30` + // Estimated: `3495` + // Minimum execution time: 3_835_000 picoseconds. + Weight::from_parts(4_076_000, 0) + .saturating_add(Weight::from_parts(0, 3495)) + .saturating_add(T::DbWeight::get().reads(1)) + } + fn seal_now() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 294_000 picoseconds. + Weight::from_parts(341_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + fn seal_weight_to_fee() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 2_315_000 picoseconds. + Weight::from_parts(2_551_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + /// The range of component `n` is `[0, 262140]`. + fn seal_copy_to_contract(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 422_000 picoseconds. + Weight::from_parts(816_752, 0) + .saturating_add(Weight::from_parts(0, 0)) + // Standard Error: 0 + .saturating_add(Weight::from_parts(237, 0).saturating_mul(n.into())) + } + fn seal_call_data_load() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 354_000 picoseconds. + Weight::from_parts(407_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + /// The range of component `n` is `[0, 262144]`. + fn seal_call_data_copy(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 274_000 picoseconds. + Weight::from_parts(355_580, 0) + .saturating_add(Weight::from_parts(0, 0)) + // Standard Error: 0 + .saturating_add(Weight::from_parts(150, 0).saturating_mul(n.into())) + } + /// The range of component `n` is `[0, 262140]`. + fn seal_return(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 326_000 picoseconds. + Weight::from_parts(517_587, 0) + .saturating_add(Weight::from_parts(0, 0)) + // Standard Error: 0 + .saturating_add(Weight::from_parts(238, 0).saturating_mul(n.into())) + } + /// Storage: `Revive::OriginalAccount` (r:1 w:0) + /// Proof: `Revive::OriginalAccount` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `Measured`) + /// Storage: `Revive::DeletionQueueCounter` (r:1 w:1) + /// Proof: `Revive::DeletionQueueCounter` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `Measured`) + /// Storage: `Revive::CodeInfoOf` (r:1 w:1) + /// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`) + /// Storage: `Revive::DeletionQueue` (r:0 w:1) + /// Proof: `Revive::DeletionQueue` (`max_values`: None, `max_size`: Some(142), added: 2617, mode: `Measured`) + /// Storage: `Revive::ImmutableDataOf` (r:0 w:1) + /// Proof: `Revive::ImmutableDataOf` (`max_values`: None, `max_size`: Some(4118), added: 6593, mode: `Measured`) + fn seal_terminate() -> Weight { + // Proof Size summary in bytes: + // Measured: `327` + // Estimated: `3792` + // Minimum execution time: 14_668_000 picoseconds. + Weight::from_parts(15_312_000, 0) + .saturating_add(Weight::from_parts(0, 3792)) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(4)) + } + /// The range of component `t` is `[0, 4]`. + /// The range of component `n` is `[0, 416]`. + fn seal_deposit_event(t: u32, n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 5_469_000 picoseconds. + Weight::from_parts(5_572_750, 0) + .saturating_add(Weight::from_parts(0, 0)) + // Standard Error: 3_427 + .saturating_add(Weight::from_parts(222_429, 0).saturating_mul(t.into())) + // Standard Error: 37 + .saturating_add(Weight::from_parts(1_256, 0).saturating_mul(n.into())) + } + /// Storage: `Skipped::Metadata` (r:0 w:0) + /// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn get_storage_empty() -> Weight { + // Proof Size summary in bytes: + // Measured: `653` + // Estimated: `653` + // Minimum execution time: 8_498_000 picoseconds. + Weight::from_parts(9_097_000, 0) + .saturating_add(Weight::from_parts(0, 653)) + .saturating_add(T::DbWeight::get().reads(1)) + } + /// Storage: `Skipped::Metadata` (r:0 w:0) + /// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn get_storage_full() -> Weight { + // Proof Size summary in bytes: + // Measured: `10663` + // Estimated: `10663` + // Minimum execution time: 42_351_000 picoseconds. + Weight::from_parts(43_958_000, 0) + .saturating_add(Weight::from_parts(0, 10663)) + .saturating_add(T::DbWeight::get().reads(1)) + } + /// Storage: `Skipped::Metadata` (r:0 w:0) + /// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn set_storage_empty() -> Weight { + // Proof Size summary in bytes: + // Measured: `653` + // Estimated: `653` + // Minimum execution time: 10_093_000 picoseconds. + Weight::from_parts(10_825_000, 0) + .saturating_add(Weight::from_parts(0, 653)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Skipped::Metadata` (r:0 w:0) + /// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn set_storage_full() -> Weight { + // Proof Size summary in bytes: + // Measured: `10663` + // Estimated: `10663` + // Minimum execution time: 45_321_000 picoseconds. + Weight::from_parts(46_115_000, 0) + .saturating_add(Weight::from_parts(0, 10663)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `Skipped::Metadata` (r:0 w:0) + /// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `n` is `[0, 416]`. + /// The range of component `o` is `[0, 416]`. + fn seal_set_storage(n: u32, o: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `253 + o * (1 ±0)` + // Estimated: `252 + o * (1 ±0)` + // Minimum execution time: 10_789_000 picoseconds. + Weight::from_parts(11_614_608, 0) + .saturating_add(Weight::from_parts(0, 252)) + // Standard Error: 96 + .saturating_add(Weight::from_parts(868, 0).saturating_mul(n.into())) + // Standard Error: 96 + .saturating_add(Weight::from_parts(1_055, 0).saturating_mul(o.into())) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + .saturating_add(Weight::from_parts(0, 1).saturating_mul(o.into())) + } + /// Storage: `Skipped::Metadata` (r:0 w:0) + /// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `n` is `[0, 416]`. + fn seal_clear_storage(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `253 + n * (1 ±0)` + // Estimated: `252 + n * (1 ±0)` + // Minimum execution time: 10_155_000 picoseconds. + Weight::from_parts(11_662_353, 0) + .saturating_add(Weight::from_parts(0, 252)) + // Standard Error: 110 + .saturating_add(Weight::from_parts(1_164, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) + } + /// Storage: `Skipped::Metadata` (r:0 w:0) + /// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `n` is `[0, 416]`. + fn seal_get_storage(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `253 + n * (1 ±0)` + // Estimated: `252 + n * (1 ±0)` + // Minimum execution time: 9_624_000 picoseconds. + Weight::from_parts(11_058_696, 0) + .saturating_add(Weight::from_parts(0, 252)) + // Standard Error: 110 + .saturating_add(Weight::from_parts(1_194, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) + } + /// Storage: `Skipped::Metadata` (r:0 w:0) + /// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `n` is `[0, 416]`. + fn seal_contains_storage(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `253 + n * (1 ±0)` + // Estimated: `252 + n * (1 ±0)` + // Minimum execution time: 9_071_000 picoseconds. + Weight::from_parts(10_100_927, 0) + .saturating_add(Weight::from_parts(0, 252)) + // Standard Error: 93 + .saturating_add(Weight::from_parts(1_442, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) + } + /// Storage: `Skipped::Metadata` (r:0 w:0) + /// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `n` is `[0, 416]`. + fn seal_take_storage(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `253 + n * (1 ±0)` + // Estimated: `252 + n * (1 ±0)` + // Minimum execution time: 10_711_000 picoseconds. + Weight::from_parts(12_449_070, 0) + .saturating_add(Weight::from_parts(0, 252)) + // Standard Error: 105 + .saturating_add(Weight::from_parts(1_635, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) + } + fn set_transient_storage_empty() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_754_000 picoseconds. + Weight::from_parts(1_921_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + fn set_transient_storage_full() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 2_049_000 picoseconds. + Weight::from_parts(2_177_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + fn get_transient_storage_empty() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_676_000 picoseconds. + Weight::from_parts(1_840_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + fn get_transient_storage_full() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_744_000 picoseconds. + Weight::from_parts(1_968_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + fn rollback_transient_storage() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_454_000 picoseconds. + Weight::from_parts(1_581_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + /// The range of component `n` is `[0, 416]`. + /// The range of component `o` is `[0, 416]`. + fn seal_set_transient_storage(n: u32, o: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 2_565_000 picoseconds. + Weight::from_parts(2_813_257, 0) + .saturating_add(Weight::from_parts(0, 0)) + // Standard Error: 22 + .saturating_add(Weight::from_parts(354, 0).saturating_mul(n.into())) + // Standard Error: 22 + .saturating_add(Weight::from_parts(451, 0).saturating_mul(o.into())) + } + /// The range of component `n` is `[0, 416]`. + fn seal_clear_transient_storage(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 2_396_000 picoseconds. + Weight::from_parts(2_916_520, 0) + .saturating_add(Weight::from_parts(0, 0)) + // Standard Error: 25 + .saturating_add(Weight::from_parts(412, 0).saturating_mul(n.into())) + } + /// The range of component `n` is `[0, 416]`. + fn seal_get_transient_storage(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 2_134_000 picoseconds. + Weight::from_parts(2_472_797, 0) + .saturating_add(Weight::from_parts(0, 0)) + // Standard Error: 27 + .saturating_add(Weight::from_parts(516, 0).saturating_mul(n.into())) + } + /// The range of component `n` is `[0, 416]`. + fn seal_contains_transient_storage(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 2_080_000 picoseconds. + Weight::from_parts(2_377_929, 0) + .saturating_add(Weight::from_parts(0, 0)) + // Standard Error: 21 + .saturating_add(Weight::from_parts(167, 0).saturating_mul(n.into())) + } + /// The range of component `n` is `[0, 416]`. + fn seal_take_transient_storage(_n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 2_866_000 picoseconds. + Weight::from_parts(3_233_186, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + /// Storage: `Revive::OriginalAccount` (r:1 w:0) + /// Proof: `Revive::OriginalAccount` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `Measured`) + /// Storage: `Revive::AccountInfoOf` (r:1 w:1) + /// Proof: `Revive::AccountInfoOf` (`max_values`: None, `max_size`: Some(247), added: 2722, mode: `Measured`) + /// Storage: `Revive::CodeInfoOf` (r:1 w:0) + /// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`) + /// Storage: `Revive::PristineCode` (r:1 w:0) + /// Proof: `Revive::PristineCode` (`max_values`: None, `max_size`: Some(262180), added: 264655, mode: `Measured`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`) + /// The range of component `t` is `[0, 1]`. + /// The range of component `d` is `[0, 1]`. + /// The range of component `i` is `[0, 262144]`. + fn seal_call(t: u32, d: u32, i: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `3547` + // Estimated: `7012` + // Minimum execution time: 102_580_000 picoseconds. + Weight::from_parts(84_999_322, 0) + .saturating_add(Weight::from_parts(0, 7012)) + // Standard Error: 139_838 + .saturating_add(Weight::from_parts(19_245_806, 0).saturating_mul(t.into())) + // Standard Error: 139_838 + .saturating_add(Weight::from_parts(26_885_222, 0).saturating_mul(d.into())) + // Standard Error: 0 + .saturating_add(Weight::from_parts(10, 0).saturating_mul(i.into())) + .saturating_add(T::DbWeight::get().reads(5)) + .saturating_add(T::DbWeight::get().writes(1)) + .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(t.into()))) + } + /// Storage: `Revive::AccountInfoOf` (r:1 w:1) + /// Proof: `Revive::AccountInfoOf` (`max_values`: None, `max_size`: Some(247), added: 2722, mode: `Measured`) + /// Storage: `System::Account` (r:1 w:0) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`) + /// The range of component `d` is `[0, 1]`. + /// The range of component `i` is `[0, 262144]`. + fn seal_call_precompile(d: u32, i: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `399 + d * (1417 ±0)` + // Estimated: `2641 + d * (2640 ±0)` + // Minimum execution time: 31_239_000 picoseconds. + Weight::from_parts(12_485_006, 0) + .saturating_add(Weight::from_parts(0, 2641)) + // Standard Error: 80_447 + .saturating_add(Weight::from_parts(20_660_127, 0).saturating_mul(d.into())) + // Standard Error: 0 + .saturating_add(Weight::from_parts(405, 0).saturating_mul(i.into())) + .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(d.into()))) + .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(d.into()))) + .saturating_add(Weight::from_parts(0, 2640).saturating_mul(d.into())) + } + /// Storage: `Revive::AccountInfoOf` (r:1 w:0) + /// Proof: `Revive::AccountInfoOf` (`max_values`: None, `max_size`: Some(247), added: 2722, mode: `Measured`) + /// Storage: `Revive::CodeInfoOf` (r:1 w:0) + /// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`) + /// Storage: `Revive::PristineCode` (r:1 w:0) + /// Proof: `Revive::PristineCode` (`max_values`: None, `max_size`: Some(262180), added: 264655, mode: `Measured`) + fn seal_delegate_call() -> Weight { + // Proof Size summary in bytes: + // Measured: `1426` + // Estimated: `4891` + // Minimum execution time: 35_713_000 picoseconds. + Weight::from_parts(38_308_000, 0) + .saturating_add(Weight::from_parts(0, 4891)) + .saturating_add(T::DbWeight::get().reads(3)) + } + /// Storage: `Revive::CodeInfoOf` (r:1 w:1) + /// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`) + /// Storage: `Revive::PristineCode` (r:1 w:0) + /// Proof: `Revive::PristineCode` (`max_values`: None, `max_size`: Some(262180), added: 264655, mode: `Measured`) + /// Storage: `Revive::AccountInfoOf` (r:1 w:1) + /// Proof: `Revive::AccountInfoOf` (`max_values`: None, `max_size`: Some(247), added: 2722, mode: `Measured`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`) + /// The range of component `t` is `[0, 1]`. + /// The range of component `d` is `[0, 1]`. + /// The range of component `i` is `[0, 262144]`. + fn seal_instantiate(t: u32, d: u32, i: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `3799` + // Estimated: `7364` + // Minimum execution time: 171_593_000 picoseconds. + Weight::from_parts(94_027_601, 0) + .saturating_add(Weight::from_parts(0, 7364)) + // Standard Error: 1_234_992 + .saturating_add(Weight::from_parts(26_056_949, 0).saturating_mul(t.into())) + // Standard Error: 1_234_992 + .saturating_add(Weight::from_parts(44_291_013, 0).saturating_mul(d.into())) + // Standard Error: 7 + .saturating_add(Weight::from_parts(4_255, 0).saturating_mul(i.into())) + .saturating_add(T::DbWeight::get().reads(4)) + .saturating_add(T::DbWeight::get().writes(3)) + } + /// The range of component `n` is `[0, 262144]`. + fn sha2_256(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_483_000 picoseconds. + Weight::from_parts(6_039_066, 0) + .saturating_add(Weight::from_parts(0, 0)) + // Standard Error: 8 + .saturating_add(Weight::from_parts(1_344, 0).saturating_mul(n.into())) + } + /// The range of component `n` is `[0, 262144]`. + fn identity(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 836_000 picoseconds. + Weight::from_parts(1_111_450, 0) + .saturating_add(Weight::from_parts(0, 0)) + // Standard Error: 0 + .saturating_add(Weight::from_parts(148, 0).saturating_mul(n.into())) + } + /// The range of component `n` is `[0, 262144]`. + fn ripemd_160(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_434_000 picoseconds. + Weight::from_parts(684_056, 0) + .saturating_add(Weight::from_parts(0, 0)) + // Standard Error: 2 + .saturating_add(Weight::from_parts(3_821, 0).saturating_mul(n.into())) + } + /// The range of component `n` is `[0, 262144]`. + fn seal_hash_keccak_256(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_275_000 picoseconds. + Weight::from_parts(7_358_006, 0) + .saturating_add(Weight::from_parts(0, 0)) + // Standard Error: 4 + .saturating_add(Weight::from_parts(3_651, 0).saturating_mul(n.into())) + } + /// The range of component `n` is `[0, 262144]`. + fn hash_blake2_256(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_724_000 picoseconds. + Weight::from_parts(9_876_697, 0) + .saturating_add(Weight::from_parts(0, 0)) + // Standard Error: 4 + .saturating_add(Weight::from_parts(1_477, 0).saturating_mul(n.into())) + } + /// The range of component `n` is `[0, 262144]`. + fn seal_hash_blake2_128(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 866_000 picoseconds. + Weight::from_parts(7_107_509, 0) + .saturating_add(Weight::from_parts(0, 0)) + // Standard Error: 3 + .saturating_add(Weight::from_parts(1_568, 0).saturating_mul(n.into())) + } + /// The range of component `n` is `[0, 261889]`. + fn seal_sr25519_verify(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 43_440_000 picoseconds. + Weight::from_parts(33_391_803, 0) + .saturating_add(Weight::from_parts(0, 0)) + // Standard Error: 9 + .saturating_add(Weight::from_parts(5_311, 0).saturating_mul(n.into())) + } + fn ecdsa_recover() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 47_644_000 picoseconds. + Weight::from_parts(48_453_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + fn bn128_add() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 15_406_000 picoseconds. + Weight::from_parts(16_532_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + fn bn128_mul() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 986_492_000 picoseconds. + Weight::from_parts(990_120_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + /// The range of component `n` is `[0, 20]`. + fn bn128_pairing(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 928_000 picoseconds. + Weight::from_parts(4_822_362_526, 0) + .saturating_add(Weight::from_parts(0, 0)) + // Standard Error: 10_899_727 + .saturating_add(Weight::from_parts(6_001_180_715, 0).saturating_mul(n.into())) + } + /// The range of component `n` is `[0, 1200]`. + fn blake2f(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 1_088_000 picoseconds. + Weight::from_parts(1_370_969, 0) + .saturating_add(Weight::from_parts(0, 0)) + // Standard Error: 10 + .saturating_add(Weight::from_parts(29_745, 0).saturating_mul(n.into())) + } + fn seal_ecdsa_to_eth_address() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 13_193_000 picoseconds. + Weight::from_parts(13_402_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + } + /// Storage: `Revive::CodeInfoOf` (r:1 w:1) + /// Proof: `Revive::CodeInfoOf` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `Measured`) + fn seal_set_code_hash() -> Weight { + // Proof Size summary in bytes: + // Measured: `360` + // Estimated: `3825` + // Minimum execution time: 11_612_000 picoseconds. + Weight::from_parts(12_378_000, 0) + .saturating_add(Weight::from_parts(0, 3825)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// The range of component `r` is `[0, 10000]`. + fn instr(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 11_824_000 picoseconds. + Weight::from_parts(51_765_929, 0) + .saturating_add(Weight::from_parts(0, 0)) + // Standard Error: 503 + .saturating_add(Weight::from_parts(117_411, 0).saturating_mul(r.into())) + } + /// The range of component `r` is `[0, 100000]`. + fn instr_empty_loop(r: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 3_570_000 picoseconds. + Weight::from_parts(3_761_000, 0) + .saturating_add(Weight::from_parts(0, 0)) + // Standard Error: 257 + .saturating_add(Weight::from_parts(72_511, 0).saturating_mul(r.into())) + } + /// Storage: UNKNOWN KEY `0x735f040a5d490f1107ad9c56f5ca00d2060e99e5378e562537cf3bc983e17b91` (r:2 w:1) + /// Proof: UNKNOWN KEY `0x735f040a5d490f1107ad9c56f5ca00d2060e99e5378e562537cf3bc983e17b91` (r:2 w:1) + /// Storage: `Revive::AccountInfoOf` (r:0 w:1) + /// Proof: `Revive::AccountInfoOf` (`max_values`: None, `max_size`: Some(247), added: 2722, mode: `MaxEncodedLen`) + fn v1_migration_step() -> Weight { + // Proof Size summary in bytes: + // Measured: `348` + // Estimated: `6288` + // Minimum execution time: 12_465_000 picoseconds. + Weight::from_parts(13_401_000, 0) + .saturating_add(Weight::from_parts(0, 6288)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) + } +} diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_session.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_session.rs index 3027310cd2032..bf71d1d256cc4 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_session.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_session.rs @@ -16,9 +16,9 @@ //! Autogenerated weights for `pallet_session` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2025-10-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `73b9817d6032`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: @@ -58,24 +58,26 @@ impl pallet_session::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `271` // Estimated: `3736` - // Minimum execution time: 18_155_000 picoseconds. - Weight::from_parts(18_806_000, 0) + // Minimum execution time: 21_907_000 picoseconds. + Weight::from_parts(23_182_000, 0) .saturating_add(Weight::from_parts(0, 3736)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) } /// Storage: `Session::NextKeys` (r:1 w:1) /// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(265), added: 2740, mode: `MaxEncodedLen`) /// Storage: `Session::KeyOwner` (r:0 w:1) /// Proof: `Session::KeyOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) fn purge_keys() -> Weight { // Proof Size summary in bytes: - // Measured: `243` - // Estimated: `3708` - // Minimum execution time: 13_208_000 picoseconds. - Weight::from_parts(13_906_000, 0) - .saturating_add(Weight::from_parts(0, 3708)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(2)) + // Measured: `2036` + // Estimated: `5501` + // Minimum execution time: 46_782_000 picoseconds. + Weight::from_parts(48_892_000, 0) + .saturating_add(Weight::from_parts(0, 5501)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(3)) } } diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_staking_async.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_staking_async.rs index e1ac4f8e096ef..5b2f1508e24fb 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_staking_async.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_staking_async.rs @@ -16,9 +16,9 @@ //! Autogenerated weights for `pallet_staking_async` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-07-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2025-10-04, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `00ad0745bb4b`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: @@ -68,8 +68,8 @@ impl pallet_staking_async::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `6813` // Estimated: `4218` - // Minimum execution time: 107_432_000 picoseconds. - Weight::from_parts(111_160_000, 0) + // Minimum execution time: 111_433_000 picoseconds. + Weight::from_parts(114_677_000, 0) .saturating_add(Weight::from_parts(0, 4218)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(4)) @@ -96,8 +96,8 @@ impl pallet_staking_async::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `8274` // Estimated: `8877` - // Minimum execution time: 283_604_000 picoseconds. - Weight::from_parts(293_630_000, 0) + // Minimum execution time: 293_123_000 picoseconds. + Weight::from_parts(310_745_000, 0) .saturating_add(Weight::from_parts(0, 8877)) .saturating_add(T::DbWeight::get().reads(12)) .saturating_add(T::DbWeight::get().writes(7)) @@ -126,8 +126,8 @@ impl pallet_staking_async::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `8422` // Estimated: `8877` - // Minimum execution time: 249_063_000 picoseconds. - Weight::from_parts(258_863_000, 0) + // Minimum execution time: 251_923_000 picoseconds. + Weight::from_parts(260_889_000, 0) .saturating_add(Weight::from_parts(0, 8877)) .saturating_add(T::DbWeight::get().reads(13)) .saturating_add(T::DbWeight::get().writes(6)) @@ -158,8 +158,8 @@ impl pallet_staking_async::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `7413` // Estimated: `6696` - // Minimum execution time: 120_968_000 picoseconds. - Weight::from_parts(125_564_000, 0) + // Minimum execution time: 129_138_000 picoseconds. + Weight::from_parts(134_183_000, 0) .saturating_add(Weight::from_parts(0, 6696)) .saturating_add(T::DbWeight::get().reads(11)) .saturating_add(T::DbWeight::get().writes(2)) @@ -202,8 +202,8 @@ impl pallet_staking_async::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `8360` // Estimated: `6696` - // Minimum execution time: 291_826_000 picoseconds. - Weight::from_parts(303_497_000, 0) + // Minimum execution time: 296_034_000 picoseconds. + Weight::from_parts(310_163_000, 0) .saturating_add(Weight::from_parts(0, 6696)) .saturating_add(T::DbWeight::get().reads(17)) .saturating_add(T::DbWeight::get().writes(11)) @@ -214,8 +214,6 @@ impl pallet_staking_async::WeightInfo for WeightInfo /// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`) /// Storage: `Staking::MinValidatorBond` (r:1 w:0) /// Proof: `Staking::MinValidatorBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) - /// Storage: `Staking::MinNominatorBond` (r:1 w:0) - /// Proof: `Staking::MinNominatorBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) /// Storage: `Staking::MinCommission` (r:1 w:0) /// Proof: `Staking::MinCommission` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) /// Storage: `Staking::Validators` (r:1 w:1) @@ -236,12 +234,12 @@ impl pallet_staking_async::WeightInfo for WeightInfo /// Proof: `Staking::CounterForValidators` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) fn validate() -> Weight { // Proof Size summary in bytes: - // Measured: `8805` + // Measured: `8771` // Estimated: `4218` - // Minimum execution time: 108_937_000 picoseconds. - Weight::from_parts(112_665_000, 0) + // Minimum execution time: 103_493_000 picoseconds. + Weight::from_parts(107_630_000, 0) .saturating_add(Weight::from_parts(0, 4218)) - .saturating_add(T::DbWeight::get().reads(13)) + .saturating_add(T::DbWeight::get().reads(12)) .saturating_add(T::DbWeight::get().writes(5)) } /// Storage: `Staking::Ledger` (r:1 w:0) @@ -255,11 +253,11 @@ impl pallet_staking_async::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `12207 + k * (1121 ±0)` // Estimated: `4218 + k * (3033 ±0)` - // Minimum execution time: 74_688_000 picoseconds. - Weight::from_parts(61_475_056, 0) + // Minimum execution time: 81_176_000 picoseconds. + Weight::from_parts(74_917_976, 0) .saturating_add(Weight::from_parts(0, 4218)) - // Standard Error: 26_215 - .saturating_add(Weight::from_parts(14_123_790, 0).saturating_mul(k.into())) + // Standard Error: 25_677 + .saturating_add(Weight::from_parts(14_598_356, 0).saturating_mul(k.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(k.into()))) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(k.into()))) @@ -294,11 +292,11 @@ impl pallet_staking_async::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `4995 + n * (68 ±0)` // Estimated: `6248 + n * (2520 ±0)` - // Minimum execution time: 173_664_000 picoseconds. - Weight::from_parts(191_925_653, 0) + // Minimum execution time: 175_281_000 picoseconds. + Weight::from_parts(191_882_914, 0) .saturating_add(Weight::from_parts(0, 6248)) - // Standard Error: 44_857 - .saturating_add(Weight::from_parts(5_974_175, 0).saturating_mul(n.into())) + // Standard Error: 56_414 + .saturating_add(Weight::from_parts(6_300_656, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(13)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(6)) @@ -326,8 +324,8 @@ impl pallet_staking_async::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `5237` // Estimated: `6248` - // Minimum execution time: 169_879_000 picoseconds. - Weight::from_parts(177_094_000, 0) + // Minimum execution time: 176_022_000 picoseconds. + Weight::from_parts(189_377_000, 0) .saturating_add(Weight::from_parts(0, 6248)) .saturating_add(T::DbWeight::get().reads(10)) .saturating_add(T::DbWeight::get().writes(6)) @@ -342,8 +340,8 @@ impl pallet_staking_async::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `4060` // Estimated: `4218` - // Minimum execution time: 38_313_000 picoseconds. - Weight::from_parts(39_502_000, 0) + // Minimum execution time: 38_972_000 picoseconds. + Weight::from_parts(40_768_000, 0) .saturating_add(Weight::from_parts(0, 4218)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -358,8 +356,8 @@ impl pallet_staking_async::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `5732` // Estimated: `4218` - // Minimum execution time: 48_735_000 picoseconds. - Weight::from_parts(50_256_000, 0) + // Minimum execution time: 49_556_000 picoseconds. + Weight::from_parts(50_637_000, 0) .saturating_add(Weight::from_parts(0, 4218)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(1)) @@ -372,8 +370,8 @@ impl pallet_staking_async::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `5370` // Estimated: `7446` - // Minimum execution time: 48_618_000 picoseconds. - Weight::from_parts(49_956_000, 0) + // Minimum execution time: 50_434_000 picoseconds. + Weight::from_parts(52_603_000, 0) .saturating_add(Weight::from_parts(0, 7446)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) @@ -384,8 +382,8 @@ impl pallet_staking_async::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 2_633_000 picoseconds. - Weight::from_parts(2_835_000, 0) + // Minimum execution time: 3_125_000 picoseconds. + Weight::from_parts(3_328_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -395,8 +393,8 @@ impl pallet_staking_async::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 14_085_000 picoseconds. - Weight::from_parts(15_022_000, 0) + // Minimum execution time: 15_816_000 picoseconds. + Weight::from_parts(16_580_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -406,8 +404,8 @@ impl pallet_staking_async::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 12_634_000 picoseconds. - Weight::from_parts(14_866_000, 0) + // Minimum execution time: 15_644_000 picoseconds. + Weight::from_parts(16_964_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -417,8 +415,8 @@ impl pallet_staking_async::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 12_912_000 picoseconds. - Weight::from_parts(14_826_000, 0) + // Minimum execution time: 15_604_000 picoseconds. + Weight::from_parts(16_806_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -429,11 +427,11 @@ impl pallet_staking_async::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 2_803_000 picoseconds. - Weight::from_parts(3_215_980, 0) + // Minimum execution time: 3_260_000 picoseconds. + Weight::from_parts(3_832_149, 0) .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 697 - .saturating_add(Weight::from_parts(18_238, 0).saturating_mul(v.into())) + // Standard Error: 873 + .saturating_add(Weight::from_parts(18_332, 0).saturating_mul(v.into())) .saturating_add(T::DbWeight::get().writes(1)) } /// Storage: `Staking::Ledger` (r:1502 w:1502) @@ -447,11 +445,11 @@ impl pallet_staking_async::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `194937 + u * (1086 ±0)` // Estimated: `990 + u * (6456 ±0)` - // Minimum execution time: 5_407_000 picoseconds. - Weight::from_parts(5_490_000, 0) + // Minimum execution time: 5_930_000 picoseconds. + Weight::from_parts(85_645_730, 0) .saturating_add(Weight::from_parts(0, 990)) - // Standard Error: 24_405 - .saturating_add(Weight::from_parts(45_143_275, 0).saturating_mul(u.into())) + // Standard Error: 53_363 + .saturating_add(Weight::from_parts(48_779_606, 0).saturating_mul(u.into())) .saturating_add(T::DbWeight::get().reads((4_u64).saturating_mul(u.into()))) .saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(u.into()))) .saturating_add(Weight::from_parts(0, 6456).saturating_mul(u.into())) @@ -486,8 +484,8 @@ impl pallet_staking_async::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `8305` // Estimated: `6248` - // Minimum execution time: 261_353_000 picoseconds. - Weight::from_parts(279_295_000, 0) + // Minimum execution time: 274_930_000 picoseconds. + Weight::from_parts(287_058_000, 0) .saturating_add(Weight::from_parts(0, 6248)) .saturating_add(T::DbWeight::get().reads(13)) .saturating_add(T::DbWeight::get().writes(12)) @@ -499,11 +497,11 @@ impl pallet_staking_async::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `653` // Estimated: `39479` - // Minimum execution time: 15_566_000 picoseconds. - Weight::from_parts(15_953_000, 0) + // Minimum execution time: 16_560_000 picoseconds. + Weight::from_parts(17_154_000, 0) .saturating_add(Weight::from_parts(0, 39479)) - // Standard Error: 9_932 - .saturating_add(Weight::from_parts(2_874_760, 0).saturating_mul(s.into())) + // Standard Error: 8_513 + .saturating_add(Weight::from_parts(2_998_919, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -538,11 +536,11 @@ impl pallet_staking_async::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `32761 + n * (3627 ±0)` // Estimated: `39483 + n * (3228 ±0)` - // Minimum execution time: 315_476_000 picoseconds. - Weight::from_parts(470_344_887, 0) + // Minimum execution time: 336_324_000 picoseconds. + Weight::from_parts(518_741_339, 0) .saturating_add(Weight::from_parts(0, 39483)) - // Standard Error: 163_579 - .saturating_add(Weight::from_parts(125_046_004, 0).saturating_mul(n.into())) + // Standard Error: 202_679 + .saturating_add(Weight::from_parts(135_067_287, 0).saturating_mul(n.into())) .saturating_add(T::DbWeight::get().reads(13)) .saturating_add(T::DbWeight::get().reads((6_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().writes(4)) @@ -568,13 +566,15 @@ impl pallet_staking_async::WeightInfo for WeightInfo /// Storage: `VoterList::ListBags` (r:2 w:2) /// Proof: `VoterList::ListBags` (`max_values`: None, `max_size`: Some(82), added: 2557, mode: `MaxEncodedLen`) /// The range of component `l` is `[1, 32]`. - fn rebond(_l: u32, ) -> Weight { + fn rebond(l: u32, ) -> Weight { // Proof Size summary in bytes: // Measured: `8275 + l * (5 ±0)` // Estimated: `8877` - // Minimum execution time: 234_345_000 picoseconds. - Weight::from_parts(254_379_995, 0) + // Minimum execution time: 247_613_000 picoseconds. + Weight::from_parts(267_245_287, 0) .saturating_add(Weight::from_parts(0, 8877)) + // Standard Error: 33_986 + .saturating_add(Weight::from_parts(58_577, 0).saturating_mul(l.into())) .saturating_add(T::DbWeight::get().reads(12)) .saturating_add(T::DbWeight::get().writes(6)) } @@ -610,8 +610,8 @@ impl pallet_staking_async::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `8368` // Estimated: `6248` - // Minimum execution time: 283_180_000 picoseconds. - Weight::from_parts(299_374_000, 0) + // Minimum execution time: 305_673_000 picoseconds. + Weight::from_parts(316_042_000, 0) .saturating_add(Weight::from_parts(0, 6248)) .saturating_add(T::DbWeight::get().reads(14)) .saturating_add(T::DbWeight::get().writes(11)) @@ -634,8 +634,8 @@ impl pallet_staking_async::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 4_657_000 picoseconds. - Weight::from_parts(5_103_000, 0) + // Minimum execution time: 5_522_000 picoseconds. + Weight::from_parts(5_909_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(7)) } @@ -657,8 +657,8 @@ impl pallet_staking_async::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 4_283_000 picoseconds. - Weight::from_parts(4_483_000, 0) + // Minimum execution time: 5_143_000 picoseconds. + Weight::from_parts(5_506_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(7)) } @@ -690,8 +690,8 @@ impl pallet_staking_async::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `5360` // Estimated: `6248` - // Minimum execution time: 194_071_000 picoseconds. - Weight::from_parts(211_491_000, 0) + // Minimum execution time: 208_660_000 picoseconds. + Weight::from_parts(219_833_000, 0) .saturating_add(Weight::from_parts(0, 6248)) .saturating_add(T::DbWeight::get().reads(13)) .saturating_add(T::DbWeight::get().writes(6)) @@ -704,8 +704,8 @@ impl pallet_staking_async::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `663` // Estimated: `3510` - // Minimum execution time: 37_156_000 picoseconds. - Weight::from_parts(38_620_000, 0) + // Minimum execution time: 42_207_000 picoseconds. + Weight::from_parts(49_690_000, 0) .saturating_add(Weight::from_parts(0, 3510)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -716,8 +716,8 @@ impl pallet_staking_async::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 2_640_000 picoseconds. - Weight::from_parts(2_816_000, 0) + // Minimum execution time: 3_155_000 picoseconds. + Weight::from_parts(3_366_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -737,8 +737,8 @@ impl pallet_staking_async::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `6968` // Estimated: `4764` - // Minimum execution time: 74_018_000 picoseconds. - Weight::from_parts(75_714_000, 0) + // Minimum execution time: 76_616_000 picoseconds. + Weight::from_parts(79_165_000, 0) .saturating_add(Weight::from_parts(0, 4764)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(2)) @@ -759,8 +759,8 @@ impl pallet_staking_async::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `7039` // Estimated: `4764` - // Minimum execution time: 114_405_000 picoseconds. - Weight::from_parts(119_159_000, 0) + // Minimum execution time: 123_967_000 picoseconds. + Weight::from_parts(125_722_000, 0) .saturating_add(Weight::from_parts(0, 4764)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(2)) @@ -787,8 +787,8 @@ impl pallet_staking_async::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `212846` // Estimated: `210810` - // Minimum execution time: 5_719_919_000 picoseconds. - Weight::from_parts(5_833_376_000, 0) + // Minimum execution time: 6_053_880_000 picoseconds. + Weight::from_parts(6_183_954_000, 0) .saturating_add(Weight::from_parts(0, 210810)) .saturating_add(T::DbWeight::get().reads(457)) .saturating_add(T::DbWeight::get().writes(261)) @@ -811,8 +811,8 @@ impl pallet_staking_async::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `3622` // Estimated: `6617` - // Minimum execution time: 148_872_000 picoseconds. - Weight::from_parts(153_994_000, 0) + // Minimum execution time: 164_211_000 picoseconds. + Weight::from_parts(170_600_000, 0) .saturating_add(Weight::from_parts(0, 6617)) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().writes(4)) @@ -836,11 +836,11 @@ impl pallet_staking_async::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `687 + v * (96 ±0)` // Estimated: `2126 + v * (2576 ±0)` - // Minimum execution time: 97_284_000 picoseconds. - Weight::from_parts(38_368_587, 0) + // Minimum execution time: 99_630_000 picoseconds. + Weight::from_parts(46_038_853, 0) .saturating_add(Weight::from_parts(0, 2126)) - // Standard Error: 14_583 - .saturating_add(Weight::from_parts(17_935_502, 0).saturating_mul(v.into())) + // Standard Error: 18_284 + .saturating_add(Weight::from_parts(19_685_321, 0).saturating_mul(v.into())) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(v.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -859,6 +859,8 @@ impl pallet_staking_async::WeightInfo for WeightInfo /// Proof: `Staking::MaxStakedRewards` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`) /// Storage: `Staking::BondedEras` (r:1 w:1) /// Proof: `Staking::BondedEras` (`max_values`: Some(1), `max_size`: Some(25), added: 520, mode: `MaxEncodedLen`) + /// Storage: `Staking::ValidatorCount` (r:1 w:0) + /// Proof: `Staking::ValidatorCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) /// Storage: `Staking::ForceEra` (r:1 w:0) /// Proof: `Staking::ForceEra` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`) /// Storage: UNKNOWN KEY `0x6358acd2035ec4bb863fa981e0c177b9` (r:1 w:0) @@ -879,10 +881,10 @@ impl pallet_staking_async::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `1230` // Estimated: `39483` - // Minimum execution time: 465_155_000 picoseconds. - Weight::from_parts(480_074_000, 0) + // Minimum execution time: 472_465_000 picoseconds. + Weight::from_parts(485_367_000, 0) .saturating_add(Weight::from_parts(0, 39483)) - .saturating_add(T::DbWeight::get().reads(10)) + .saturating_add(T::DbWeight::get().reads(11)) .saturating_add(T::DbWeight::get().writes(7)) } /// Storage: `Staking::ErasValidatorPrefs` (r:999 w:999) @@ -893,8 +895,6 @@ impl pallet_staking_async::WeightInfo for WeightInfo /// Proof: `Staking::ErasStakersPaged` (`max_values`: None, `max_size`: Some(3152), added: 5627, mode: `Measured`) /// Storage: `Staking::ErasStakersOverview` (r:999 w:999) /// Proof: `Staking::ErasStakersOverview` (`max_values`: None, `max_size`: Some(92), added: 2567, mode: `Measured`) - /// Storage: `Staking::ValidatorCount` (r:1 w:0) - /// Proof: `Staking::ValidatorCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `Measured`) /// Storage: `Staking::ErasValidatorReward` (r:0 w:1) /// Proof: `Staking::ErasValidatorReward` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `Measured`) /// Storage: `Staking::ErasRewardPoints` (r:0 w:1) @@ -906,12 +906,12 @@ impl pallet_staking_async::WeightInfo for WeightInfo // Proof Size summary in bytes: // Measured: `11838 + v * (279 ±0)` // Estimated: `734012 + v * (2749 ±0)` - // Minimum execution time: 517_577_000 picoseconds. - Weight::from_parts(258_763_550, 0) + // Minimum execution time: 552_667_000 picoseconds. + Weight::from_parts(307_339_610, 0) .saturating_add(Weight::from_parts(0, 734012)) - // Standard Error: 29_499 - .saturating_add(Weight::from_parts(5_622_698, 0).saturating_mul(v.into())) - .saturating_add(T::DbWeight::get().reads(291)) + // Standard Error: 30_179 + .saturating_add(Weight::from_parts(6_186_806, 0).saturating_mul(v.into())) + .saturating_add(T::DbWeight::get().reads(290)) .saturating_add(T::DbWeight::get().reads((4_u64).saturating_mul(v.into()))) .saturating_add(T::DbWeight::get().writes(293)) .saturating_add(T::DbWeight::get().writes((4_u64).saturating_mul(v.into()))) diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_timestamp.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_timestamp.rs index 873afbae64793..5245192a63626 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_timestamp.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_timestamp.rs @@ -16,9 +16,9 @@ //! Autogenerated weights for `pallet_timestamp` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2025-10-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `73b9817d6032`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: @@ -56,10 +56,10 @@ impl pallet_timestamp::WeightInfo for WeightInfo { /// Proof: `Aura::CurrentSlot` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`) fn set() -> Weight { // Proof Size summary in bytes: - // Measured: `189` + // Measured: `321` // Estimated: `1493` - // Minimum execution time: 8_800_000 picoseconds. - Weight::from_parts(9_287_000, 0) + // Minimum execution time: 9_712_000 picoseconds. + Weight::from_parts(10_165_000, 0) .saturating_add(Weight::from_parts(0, 1493)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -68,8 +68,8 @@ impl pallet_timestamp::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `94` // Estimated: `0` - // Minimum execution time: 4_492_000 picoseconds. - Weight::from_parts(4_663_000, 0) + // Minimum execution time: 4_573_000 picoseconds. + Weight::from_parts(4_867_000, 0) .saturating_add(Weight::from_parts(0, 0)) } } diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_transaction_payment.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_transaction_payment.rs index 7431fa928f4f4..11e3fcdabb848 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_transaction_payment.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_transaction_payment.rs @@ -16,9 +16,9 @@ //! Autogenerated weights for `pallet_transaction_payment` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2025-10-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `73b9817d6032`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: @@ -54,10 +54,10 @@ impl pallet_transaction_payment::WeightInfo for WeightI /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn charge_transaction_payment() -> Weight { // Proof Size summary in bytes: - // Measured: `101` + // Measured: `1946` // Estimated: `6196` - // Minimum execution time: 44_317_000 picoseconds. - Weight::from_parts(45_035_000, 0) + // Minimum execution time: 59_030_000 picoseconds. + Weight::from_parts(60_060_000, 0) .saturating_add(Weight::from_parts(0, 6196)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_treasury.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_treasury.rs index bd90482f8f470..b469c786664bd 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_treasury.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_treasury.rs @@ -1,5 +1,4 @@ // Copyright (C) Parity Technologies (UK) Ltd. -// This file is part of Cumulus. // SPDX-License-Identifier: Apache-2.0 // Licensed under the Apache License, Version 2.0 (the "License"); @@ -16,25 +15,29 @@ //! Autogenerated weights for `pallet_treasury` //! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2023-07-07, STEPS: `50`, REPEAT: `2`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 +//! DATE: 2025-10-04, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `cob`, CPU: `` -//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024 +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: -// ./target/debug/polkadot +// frame-omni-bencher +// v1 // benchmark // pallet -// --chain=rococo-dev -// --steps=50 -// --repeat=2 -// --pallet=pallet_treasury // --extrinsic=* +// --runtime=target/production/wbuild/asset-hub-westend-runtime/asset_hub_westend_runtime.wasm +// --pallet=pallet_treasury +// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt +// --output=./cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights // --wasm-execution=compiled +// --steps=50 +// --repeat=20 // --heap-pages=4096 -// --output=./runtime/rococo/src/weights/ -// --header=./file_header.txt +// --no-storage-info +// --no-min-squares +// --no-median-slopes #![cfg_attr(rustfmt, rustfmt_skip)] #![allow(unused_parens)] @@ -47,131 +50,128 @@ use core::marker::PhantomData; /// Weight functions for `pallet_treasury`. pub struct WeightInfo(PhantomData); impl pallet_treasury::WeightInfo for WeightInfo { - /// Storage: Treasury ProposalCount (r:1 w:1) - /// Proof: Treasury ProposalCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen) - /// Storage: Treasury Approvals (r:1 w:1) - /// Proof: Treasury Approvals (max_values: Some(1), max_size: Some(402), added: 897, mode: MaxEncodedLen) - /// Storage: Treasury Proposals (r:0 w:1) - /// Proof: Treasury Proposals (max_values: None, max_size: Some(108), added: 2583, mode: MaxEncodedLen) + /// Storage: `Treasury::ProposalCount` (r:1 w:1) + /// Proof: `Treasury::ProposalCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Approvals` (r:1 w:1) + /// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Proposals` (r:0 w:1) + /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) fn spend_local() -> Weight { // Proof Size summary in bytes: // Measured: `42` // Estimated: `1887` - // Minimum execution time: 177_000_000 picoseconds. - Weight::from_parts(191_000_000, 0) + // Minimum execution time: 13_940_000 picoseconds. + Weight::from_parts(14_793_000, 0) .saturating_add(Weight::from_parts(0, 1887)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(3)) } - /// Storage: Treasury Approvals (r:1 w:1) - /// Proof: Treasury Approvals (max_values: Some(1), max_size: Some(402), added: 897, mode: MaxEncodedLen) + /// Storage: `Treasury::Approvals` (r:1 w:1) + /// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) fn remove_approval() -> Weight { // Proof Size summary in bytes: // Measured: `127` // Estimated: `1887` - // Minimum execution time: 80_000_000 picoseconds. - Weight::from_parts(82_000_000, 0) + // Minimum execution time: 7_255_000 picoseconds. + Weight::from_parts(7_703_000, 0) .saturating_add(Weight::from_parts(0, 1887)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } - /// Storage: Treasury Deactivated (r:1 w:1) - /// Proof: Treasury Deactivated (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen) - /// Storage: Balances InactiveIssuance (r:1 w:1) - /// Proof: Balances InactiveIssuance (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen) - /// Storage: Treasury Approvals (r:1 w:1) - /// Proof: Treasury Approvals (max_values: Some(1), max_size: Some(402), added: 897, mode: MaxEncodedLen) - /// Storage: Treasury Proposals (r:99 w:99) - /// Proof: Treasury Proposals (max_values: None, max_size: Some(108), added: 2583, mode: MaxEncodedLen) - /// Storage: System Account (r:199 w:199) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - /// Storage: Bounties BountyApprovals (r:1 w:1) - /// Proof: Bounties BountyApprovals (max_values: Some(1), max_size: Some(402), added: 897, mode: MaxEncodedLen) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::LastRelayChainBlockNumber` (r:1 w:0) + /// Proof: `ParachainSystem::LastRelayChainBlockNumber` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:1 w:0) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Deactivated` (r:1 w:1) + /// Proof: `Treasury::Deactivated` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + /// Storage: `Treasury::LastSpendPeriod` (r:1 w:1) + /// Proof: `Treasury::LastSpendPeriod` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) /// The range of component `p` is `[0, 99]`. fn on_initialize_proposals(p: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `331 + p * (251 ±0)` - // Estimated: `3593 + p * (5206 ±0)` - // Minimum execution time: 887_000_000 picoseconds. - Weight::from_parts(828_616_021, 0) + // Measured: `1519` + // Estimated: `3593` + // Minimum execution time: 23_543_000 picoseconds. + Weight::from_parts(29_711_786, 0) .saturating_add(Weight::from_parts(0, 3593)) - // Standard Error: 695_351 - .saturating_add(Weight::from_parts(566_114_524, 0).saturating_mul(p.into())) + // Standard Error: 2_229 + .saturating_add(Weight::from_parts(110_630, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(5)) - .saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(p.into()))) - .saturating_add(T::DbWeight::get().writes(5)) - .saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(p.into()))) - .saturating_add(Weight::from_parts(0, 5206).saturating_mul(p.into())) + .saturating_add(T::DbWeight::get().writes(2)) } - /// Storage: AssetRate ConversionRateToNative (r:1 w:0) - /// Proof: AssetRate ConversionRateToNative (max_values: None, max_size: Some(1237), added: 3712, mode: MaxEncodedLen) - /// Storage: Treasury SpendCount (r:1 w:1) - /// Proof: Treasury SpendCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen) - /// Storage: Treasury Spends (r:0 w:1) - /// Proof: Treasury Spends (max_values: None, max_size: Some(1848), added: 4323, mode: MaxEncodedLen) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::LastRelayChainBlockNumber` (r:1 w:0) + /// Proof: `ParachainSystem::LastRelayChainBlockNumber` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `AssetRate::ConversionRateToNative` (r:1 w:0) + /// Proof: `AssetRate::ConversionRateToNative` (`max_values`: None, `max_size`: Some(1238), added: 3713, mode: `MaxEncodedLen`) + /// Storage: `Treasury::SpendCount` (r:1 w:1) + /// Proof: `Treasury::SpendCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Spends` (r:0 w:1) + /// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(2456), added: 4931, mode: `MaxEncodedLen`) fn spend() -> Weight { // Proof Size summary in bytes: - // Measured: `114` - // Estimated: `4702` - // Minimum execution time: 208_000_000 picoseconds. - Weight::from_parts(222_000_000, 0) - .saturating_add(Weight::from_parts(0, 4702)) - .saturating_add(T::DbWeight::get().reads(2)) + // Measured: `259` + // Estimated: `4703` + // Minimum execution time: 26_318_000 picoseconds. + Weight::from_parts(27_846_000, 0) + .saturating_add(Weight::from_parts(0, 4703)) + .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(2)) } - /// Storage: Treasury Spends (r:1 w:1) - /// Proof: Treasury Spends (max_values: None, max_size: Some(1848), added: 4323, mode: MaxEncodedLen) - /// Storage: XcmPallet QueryCounter (r:1 w:1) - /// Proof Skipped: XcmPallet QueryCounter (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Configuration ActiveConfig (r:1 w:0) - /// Proof Skipped: Configuration ActiveConfig (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Dmp DeliveryFeeFactor (r:1 w:0) - /// Proof Skipped: Dmp DeliveryFeeFactor (max_values: None, max_size: None, mode: Measured) - /// Storage: XcmPallet SupportedVersion (r:1 w:0) - /// Proof Skipped: XcmPallet SupportedVersion (max_values: None, max_size: None, mode: Measured) - /// Storage: XcmPallet VersionDiscoveryQueue (r:1 w:1) - /// Proof Skipped: XcmPallet VersionDiscoveryQueue (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: XcmPallet SafeXcmVersion (r:1 w:0) - /// Proof Skipped: XcmPallet SafeXcmVersion (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Dmp DownwardMessageQueues (r:1 w:1) - /// Proof Skipped: Dmp DownwardMessageQueues (max_values: None, max_size: None, mode: Measured) - /// Storage: Dmp DownwardMessageQueueHeads (r:1 w:1) - /// Proof Skipped: Dmp DownwardMessageQueueHeads (max_values: None, max_size: None, mode: Measured) - /// Storage: XcmPallet Queries (r:0 w:1) - /// Proof Skipped: XcmPallet Queries (max_values: None, max_size: None, mode: Measured) + /// Storage: `Treasury::Spends` (r:1 w:1) + /// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(2456), added: 4931, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::LastRelayChainBlockNumber` (r:1 w:0) + /// Proof: `ParachainSystem::LastRelayChainBlockNumber` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Assets::Asset` (r:1 w:1) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `Assets::Account` (r:2 w:2) + /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + /// Storage: `AssetsFreezer::FrozenBalances` (r:1 w:1) + /// Proof: `AssetsFreezer::FrozenBalances` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `AssetsFreezer::Freezes` (r:1 w:1) + /// Proof: `AssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(105), added: 2580, mode: `MaxEncodedLen`) fn payout() -> Weight { // Proof Size summary in bytes: - // Measured: `737` - // Estimated: `5313` - // Minimum execution time: 551_000_000 picoseconds. - Weight::from_parts(569_000_000, 0) - .saturating_add(Weight::from_parts(0, 5313)) - .saturating_add(T::DbWeight::get().reads(9)) - .saturating_add(T::DbWeight::get().writes(6)) + // Measured: `3093` + // Estimated: `6208` + // Minimum execution time: 105_542_000 picoseconds. + Weight::from_parts(108_918_000, 0) + .saturating_add(Weight::from_parts(0, 6208)) + .saturating_add(T::DbWeight::get().reads(10)) + .saturating_add(T::DbWeight::get().writes(8)) } - /// Storage: Treasury Spends (r:1 w:1) - /// Proof: Treasury Spends (max_values: None, max_size: Some(1848), added: 4323, mode: MaxEncodedLen) - /// Storage: XcmPallet Queries (r:1 w:1) - /// Proof Skipped: XcmPallet Queries (max_values: None, max_size: None, mode: Measured) + /// Storage: `Treasury::Spends` (r:1 w:1) + /// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(2456), added: 4931, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `ParachainSystem::LastRelayChainBlockNumber` (r:1 w:0) + /// Proof: `ParachainSystem::LastRelayChainBlockNumber` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) fn check_status() -> Weight { // Proof Size summary in bytes: - // Measured: `442` - // Estimated: `5313` - // Minimum execution time: 245_000_000 picoseconds. - Weight::from_parts(281_000_000, 0) - .saturating_add(Weight::from_parts(0, 5313)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) + // Measured: `294` + // Estimated: `5921` + // Minimum execution time: 22_325_000 picoseconds. + Weight::from_parts(23_139_000, 0) + .saturating_add(Weight::from_parts(0, 5921)) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(1)) } - /// Storage: Treasury Spends (r:1 w:1) - /// Proof: Treasury Spends (max_values: None, max_size: Some(1848), added: 4323, mode: MaxEncodedLen) + /// Storage: `Treasury::Spends` (r:1 w:1) + /// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(2456), added: 4931, mode: `MaxEncodedLen`) fn void_spend() -> Weight { // Proof Size summary in bytes: - // Measured: `172` - // Estimated: `5313` - // Minimum execution time: 147_000_000 picoseconds. - Weight::from_parts(160_000_000, 0) - .saturating_add(Weight::from_parts(0, 5313)) + // Measured: `177` + // Estimated: `5921` + // Minimum execution time: 15_574_000 picoseconds. + Weight::from_parts(16_371_000, 0) + .saturating_add(Weight::from_parts(0, 5921)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_uniques.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_uniques.rs index e469c2159798d..76b9571075332 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_uniques.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_uniques.rs @@ -16,9 +16,9 @@ //! Autogenerated weights for `pallet_uniques` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2025-10-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `73b9817d6032`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: @@ -56,10 +56,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::ClassAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) fn create() -> Weight { // Proof Size summary in bytes: - // Measured: `212` + // Measured: `1482` // Estimated: `3643` - // Minimum execution time: 28_192_000 picoseconds. - Weight::from_parts(29_250_000, 0) + // Minimum execution time: 37_994_000 picoseconds. + Weight::from_parts(40_120_000, 0) .saturating_add(Weight::from_parts(0, 3643)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(2)) @@ -70,10 +70,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::ClassAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) fn force_create() -> Weight { // Proof Size summary in bytes: - // Measured: `109` + // Measured: `241` // Estimated: `3643` - // Minimum execution time: 12_923_000 picoseconds. - Weight::from_parts(13_617_000, 0) + // Minimum execution time: 14_889_000 picoseconds. + Weight::from_parts(15_569_000, 0) .saturating_add(Weight::from_parts(0, 3643)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(2)) @@ -99,17 +99,17 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// The range of component `a` is `[0, 1000]`. fn destroy(n: u32, m: u32, a: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `394 + a * (107 ±0) + m * (56 ±0) + n * (76 ±0)` + // Measured: `516 + a * (107 ±0) + m * (56 ±0) + n * (76 ±0)` // Estimated: `3643 + a * (2647 ±0) + m * (2662 ±0) + n * (2597 ±0)` - // Minimum execution time: 3_420_053_000 picoseconds. - Weight::from_parts(3_447_034_000, 0) + // Minimum execution time: 4_189_572_000 picoseconds. + Weight::from_parts(4_412_093_000, 0) .saturating_add(Weight::from_parts(0, 3643)) - // Standard Error: 43_940 - .saturating_add(Weight::from_parts(8_425_741, 0).saturating_mul(n.into())) - // Standard Error: 43_940 - .saturating_add(Weight::from_parts(477_846, 0).saturating_mul(m.into())) - // Standard Error: 43_940 - .saturating_add(Weight::from_parts(512_498, 0).saturating_mul(a.into())) + // Standard Error: 54_857 + .saturating_add(Weight::from_parts(9_445_429, 0).saturating_mul(n.into())) + // Standard Error: 54_857 + .saturating_add(Weight::from_parts(977_047, 0).saturating_mul(m.into())) + // Standard Error: 54_857 + .saturating_add(Weight::from_parts(613_673, 0).saturating_mul(a.into())) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into()))) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(m.into()))) @@ -132,10 +132,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`) fn mint() -> Weight { // Proof Size summary in bytes: - // Measured: `349` + // Measured: `481` // Estimated: `3643` - // Minimum execution time: 35_706_000 picoseconds. - Weight::from_parts(37_038_000, 0) + // Minimum execution time: 42_767_000 picoseconds. + Weight::from_parts(44_500_000, 0) .saturating_add(Weight::from_parts(0, 3643)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) @@ -150,10 +150,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::ItemPriceOf` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`) fn burn() -> Weight { // Proof Size summary in bytes: - // Measured: `495` + // Measured: `627` // Estimated: `3643` - // Minimum execution time: 36_660_000 picoseconds. - Weight::from_parts(38_049_000, 0) + // Minimum execution time: 42_758_000 picoseconds. + Weight::from_parts(44_147_000, 0) .saturating_add(Weight::from_parts(0, 3643)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(4)) @@ -168,10 +168,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::ItemPriceOf` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`) fn transfer() -> Weight { // Proof Size summary in bytes: - // Measured: `495` + // Measured: `627` // Estimated: `3643` - // Minimum execution time: 26_796_000 picoseconds. - Weight::from_parts(27_777_000, 0) + // Minimum execution time: 32_357_000 picoseconds. + Weight::from_parts(33_515_000, 0) .saturating_add(Weight::from_parts(0, 3643)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(4)) @@ -183,13 +183,13 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// The range of component `i` is `[0, 5000]`. fn redeposit(i: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `805 + i * (76 ±0)` + // Measured: `937 + i * (76 ±0)` // Estimated: `3643 + i * (2597 ±0)` - // Minimum execution time: 13_440_000 picoseconds. - Weight::from_parts(13_641_000, 0) + // Minimum execution time: 16_967_000 picoseconds. + Weight::from_parts(17_584_000, 0) .saturating_add(Weight::from_parts(0, 3643)) - // Standard Error: 27_594 - .saturating_add(Weight::from_parts(18_683_114, 0).saturating_mul(i.into())) + // Standard Error: 29_981 + .saturating_add(Weight::from_parts(21_933_434, 0).saturating_mul(i.into())) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(i.into()))) .saturating_add(T::DbWeight::get().writes(1)) @@ -202,10 +202,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) fn freeze() -> Weight { // Proof Size summary in bytes: - // Measured: `495` + // Measured: `627` // Estimated: `3643` - // Minimum execution time: 18_200_000 picoseconds. - Weight::from_parts(19_185_000, 0) + // Minimum execution time: 22_006_000 picoseconds. + Weight::from_parts(23_359_000, 0) .saturating_add(Weight::from_parts(0, 3643)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -216,10 +216,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) fn thaw() -> Weight { // Proof Size summary in bytes: - // Measured: `495` + // Measured: `627` // Estimated: `3643` - // Minimum execution time: 18_356_000 picoseconds. - Weight::from_parts(19_099_000, 0) + // Minimum execution time: 21_962_000 picoseconds. + Weight::from_parts(23_247_000, 0) .saturating_add(Weight::from_parts(0, 3643)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -228,10 +228,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) fn freeze_collection() -> Weight { // Proof Size summary in bytes: - // Measured: `349` + // Measured: `481` // Estimated: `3643` - // Minimum execution time: 12_044_000 picoseconds. - Weight::from_parts(12_739_000, 0) + // Minimum execution time: 15_963_000 picoseconds. + Weight::from_parts(16_864_000, 0) .saturating_add(Weight::from_parts(0, 3643)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -240,10 +240,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) fn thaw_collection() -> Weight { // Proof Size summary in bytes: - // Measured: `349` + // Measured: `481` // Estimated: `3643` - // Minimum execution time: 12_003_000 picoseconds. - Weight::from_parts(12_737_000, 0) + // Minimum execution time: 15_684_000 picoseconds. + Weight::from_parts(16_436_000, 0) .saturating_add(Weight::from_parts(0, 3643)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -258,10 +258,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::ClassAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) fn transfer_ownership() -> Weight { // Proof Size summary in bytes: - // Measured: `526` + // Measured: `1933` // Estimated: `3643` - // Minimum execution time: 26_190_000 picoseconds. - Weight::from_parts(27_183_000, 0) + // Minimum execution time: 37_050_000 picoseconds. + Weight::from_parts(38_937_000, 0) .saturating_add(Weight::from_parts(0, 3643)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(5)) @@ -270,10 +270,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) fn set_team() -> Weight { // Proof Size summary in bytes: - // Measured: `349` + // Measured: `481` // Estimated: `3643` - // Minimum execution time: 12_323_000 picoseconds. - Weight::from_parts(12_995_000, 0) + // Minimum execution time: 16_115_000 picoseconds. + Weight::from_parts(16_605_000, 0) .saturating_add(Weight::from_parts(0, 3643)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -284,10 +284,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::ClassAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) fn force_item_status() -> Weight { // Proof Size summary in bytes: - // Measured: `349` + // Measured: `481` // Estimated: `3643` - // Minimum execution time: 15_616_000 picoseconds. - Weight::from_parts(16_257_000, 0) + // Minimum execution time: 20_033_000 picoseconds. + Weight::from_parts(20_692_000, 0) .saturating_add(Weight::from_parts(0, 3643)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(2)) @@ -300,10 +300,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::Attribute` (`max_values`: None, `max_size`: Some(172), added: 2647, mode: `MaxEncodedLen`) fn set_attribute() -> Weight { // Proof Size summary in bytes: - // Measured: `626` + // Measured: `758` // Estimated: `3652` - // Minimum execution time: 39_608_000 picoseconds. - Weight::from_parts(41_080_000, 0) + // Minimum execution time: 47_101_000 picoseconds. + Weight::from_parts(48_985_000, 0) .saturating_add(Weight::from_parts(0, 3652)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) @@ -316,10 +316,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::Attribute` (`max_values`: None, `max_size`: Some(172), added: 2647, mode: `MaxEncodedLen`) fn clear_attribute() -> Weight { // Proof Size summary in bytes: - // Measured: `823` + // Measured: `955` // Estimated: `3652` - // Minimum execution time: 42_449_000 picoseconds. - Weight::from_parts(43_456_000, 0) + // Minimum execution time: 44_552_000 picoseconds. + Weight::from_parts(46_490_000, 0) .saturating_add(Weight::from_parts(0, 3652)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) @@ -330,10 +330,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::InstanceMetadataOf` (`max_values`: None, `max_size`: Some(187), added: 2662, mode: `MaxEncodedLen`) fn set_metadata() -> Weight { // Proof Size summary in bytes: - // Measured: `415` + // Measured: `547` // Estimated: `3652` - // Minimum execution time: 29_653_000 picoseconds. - Weight::from_parts(30_570_000, 0) + // Minimum execution time: 34_887_000 picoseconds. + Weight::from_parts(36_151_000, 0) .saturating_add(Weight::from_parts(0, 3652)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -344,10 +344,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::InstanceMetadataOf` (`max_values`: None, `max_size`: Some(187), added: 2662, mode: `MaxEncodedLen`) fn clear_metadata() -> Weight { // Proof Size summary in bytes: - // Measured: `626` + // Measured: `758` // Estimated: `3652` - // Minimum execution time: 30_909_000 picoseconds. - Weight::from_parts(32_047_000, 0) + // Minimum execution time: 35_886_000 picoseconds. + Weight::from_parts(37_510_000, 0) .saturating_add(Weight::from_parts(0, 3652)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -358,10 +358,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::ClassMetadataOf` (`max_values`: None, `max_size`: Some(167), added: 2642, mode: `MaxEncodedLen`) fn set_collection_metadata() -> Weight { // Proof Size summary in bytes: - // Measured: `349` + // Measured: `481` // Estimated: `3643` - // Minimum execution time: 30_218_000 picoseconds. - Weight::from_parts(30_912_000, 0) + // Minimum execution time: 36_059_000 picoseconds. + Weight::from_parts(37_763_000, 0) .saturating_add(Weight::from_parts(0, 3643)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -372,10 +372,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::ClassMetadataOf` (`max_values`: None, `max_size`: Some(167), added: 2642, mode: `MaxEncodedLen`) fn clear_collection_metadata() -> Weight { // Proof Size summary in bytes: - // Measured: `540` + // Measured: `672` // Estimated: `3643` - // Minimum execution time: 29_496_000 picoseconds. - Weight::from_parts(30_458_000, 0) + // Minimum execution time: 35_189_000 picoseconds. + Weight::from_parts(36_619_000, 0) .saturating_add(Weight::from_parts(0, 3643)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -386,10 +386,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::Asset` (`max_values`: None, `max_size`: Some(122), added: 2597, mode: `MaxEncodedLen`) fn approve_transfer() -> Weight { // Proof Size summary in bytes: - // Measured: `495` + // Measured: `627` // Estimated: `3643` - // Minimum execution time: 18_421_000 picoseconds. - Weight::from_parts(19_417_000, 0) + // Minimum execution time: 22_651_000 picoseconds. + Weight::from_parts(23_543_000, 0) .saturating_add(Weight::from_parts(0, 3643)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -400,10 +400,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::Asset` (`max_values`: None, `max_size`: Some(122), added: 2597, mode: `MaxEncodedLen`) fn cancel_approval() -> Weight { // Proof Size summary in bytes: - // Measured: `528` + // Measured: `660` // Estimated: `3643` - // Minimum execution time: 18_286_000 picoseconds. - Weight::from_parts(19_165_000, 0) + // Minimum execution time: 22_175_000 picoseconds. + Weight::from_parts(23_163_000, 0) .saturating_add(Weight::from_parts(0, 3643)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -412,10 +412,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::OwnershipAcceptance` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) fn set_accept_ownership() -> Weight { // Proof Size summary in bytes: - // Measured: `109` + // Measured: `241` // Estimated: `3517` - // Minimum execution time: 13_612_000 picoseconds. - Weight::from_parts(14_197_000, 0) + // Minimum execution time: 15_151_000 picoseconds. + Weight::from_parts(16_195_000, 0) .saturating_add(Weight::from_parts(0, 3517)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -426,10 +426,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`) fn set_collection_max_supply() -> Weight { // Proof Size summary in bytes: - // Measured: `349` + // Measured: `481` // Estimated: `3643` - // Minimum execution time: 15_121_000 picoseconds. - Weight::from_parts(15_561_000, 0) + // Minimum execution time: 19_141_000 picoseconds. + Weight::from_parts(19_531_000, 0) .saturating_add(Weight::from_parts(0, 3643)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) @@ -440,10 +440,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::ItemPriceOf` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`) fn set_price() -> Weight { // Proof Size summary in bytes: - // Measured: `326` + // Measured: `458` // Estimated: `3587` - // Minimum execution time: 14_797_000 picoseconds. - Weight::from_parts(15_533_000, 0) + // Minimum execution time: 18_803_000 picoseconds. + Weight::from_parts(19_447_000, 0) .saturating_add(Weight::from_parts(0, 3587)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -458,10 +458,10 @@ impl pallet_uniques::WeightInfo for WeightInfo { /// Proof: `Uniques::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`) fn buy_item() -> Weight { // Proof Size summary in bytes: - // Measured: `607` + // Measured: `739` // Estimated: `3643` - // Minimum execution time: 38_688_000 picoseconds. - Weight::from_parts(40_370_000, 0) + // Minimum execution time: 41_757_000 picoseconds. + Weight::from_parts(43_114_000, 0) .saturating_add(Weight::from_parts(0, 3643)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(4)) diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_utility.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_utility.rs index 7f0a4353cb1fd..a95fdd782d542 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_utility.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_utility.rs @@ -16,9 +16,9 @@ //! Autogenerated weights for `pallet_utility` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2025-10-04, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `73b9817d6032`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: @@ -55,18 +55,18 @@ impl pallet_utility::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 4_984_000 picoseconds. - Weight::from_parts(5_153_000, 0) + // Minimum execution time: 6_016_000 picoseconds. + Weight::from_parts(6_163_000, 0) .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 1_526 - .saturating_add(Weight::from_parts(3_130_286, 0).saturating_mul(c.into())) + // Standard Error: 1_054 + .saturating_add(Weight::from_parts(3_950_988, 0).saturating_mul(c.into())) } fn as_derivative() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 4_468_000 picoseconds. - Weight::from_parts(4_821_000, 0) + // Minimum execution time: 5_301_000 picoseconds. + Weight::from_parts(5_667_000, 0) .saturating_add(Weight::from_parts(0, 0)) } /// The range of component `c` is `[0, 1000]`. @@ -74,18 +74,18 @@ impl pallet_utility::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 5_090_000 picoseconds. - Weight::from_parts(5_188_000, 0) + // Minimum execution time: 5_973_000 picoseconds. + Weight::from_parts(6_120_000, 0) .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 1_435 - .saturating_add(Weight::from_parts(3_355_671, 0).saturating_mul(c.into())) + // Standard Error: 1_216 + .saturating_add(Weight::from_parts(4_164_816, 0).saturating_mul(c.into())) } fn dispatch_as() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 6_960_000 picoseconds. - Weight::from_parts(7_203_000, 0) + // Minimum execution time: 8_407_000 picoseconds. + Weight::from_parts(8_753_000, 0) .saturating_add(Weight::from_parts(0, 0)) } /// The range of component `c` is `[0, 1000]`. @@ -93,26 +93,26 @@ impl pallet_utility::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 5_022_000 picoseconds. - Weight::from_parts(5_104_000, 0) + // Minimum execution time: 5_950_000 picoseconds. + Weight::from_parts(6_065_000, 0) .saturating_add(Weight::from_parts(0, 0)) - // Standard Error: 1_549 - .saturating_add(Weight::from_parts(3_125_716, 0).saturating_mul(c.into())) + // Standard Error: 1_169 + .saturating_add(Weight::from_parts(3_845_318, 0).saturating_mul(c.into())) } fn dispatch_as_fallible() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 6_848_000 picoseconds. - Weight::from_parts(7_202_000, 0) + // Minimum execution time: 8_361_000 picoseconds. + Weight::from_parts(8_669_000, 0) .saturating_add(Weight::from_parts(0, 0)) } fn if_else() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 8_510_000 picoseconds. - Weight::from_parts(8_903_000, 0) + // Minimum execution time: 10_050_000 picoseconds. + Weight::from_parts(10_724_000, 0) .saturating_add(Weight::from_parts(0, 0)) } } diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_vesting.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_vesting.rs index 80ec555c54f6a..5ea7a0fd16bae 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_vesting.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_vesting.rs @@ -1,5 +1,4 @@ // Copyright (C) Parity Technologies (UK) Ltd. -// This file is part of Cumulus. // SPDX-License-Identifier: Apache-2.0 // Licensed under the Apache License, Version 2.0 (the "License"); @@ -16,28 +15,29 @@ //! Autogenerated weights for `pallet_vesting` //! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2023-06-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 +//! DATE: 2025-10-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `runner--ss9ysm1-project-163-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("westend-dev"), DB CACHE: 1024 +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: -// ./target/production/polkadot +// frame-omni-bencher +// v1 // benchmark // pallet -// --chain=westend-dev +// --extrinsic=* +// --runtime=target/production/wbuild/asset-hub-westend-runtime/asset_hub_westend_runtime.wasm +// --pallet=pallet_vesting +// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt +// --output=./cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights +// --wasm-execution=compiled // --steps=50 // --repeat=20 +// --heap-pages=4096 // --no-storage-info -// --no-median-slopes // --no-min-squares -// --pallet=pallet_vesting -// --extrinsic=* -// --execution=wasm -// --wasm-execution=compiled -// --header=./file_header.txt -// --output=./runtime/westend/src/weights/ +// --no-median-slopes #![cfg_attr(rustfmt, rustfmt_skip)] #![allow(unused_parens)] @@ -50,216 +50,246 @@ use core::marker::PhantomData; /// Weight functions for `pallet_vesting`. pub struct WeightInfo(PhantomData); impl pallet_vesting::WeightInfo for WeightInfo { - /// Storage: Vesting Vesting (r:1 w:1) - /// Proof: Vesting Vesting (max_values: None, max_size: Some(1057), added: 3532, mode: MaxEncodedLen) - /// Storage: Balances Locks (r:1 w:1) - /// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen) - /// Storage: Balances Freezes (r:1 w:0) - /// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen) + /// Storage: `Vesting::Vesting` (r:1 w:1) + /// Proof: `Vesting::Vesting` (`max_values`: None, `max_size`: Some(3650), added: 6125, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Balances::Locks` (r:1 w:1) + /// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`) + /// Storage: `Balances::Freezes` (r:1 w:0) + /// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`) /// The range of component `l` is `[0, 49]`. - /// The range of component `s` is `[1, 28]`. + /// The range of component `s` is `[1, 100]`. fn vest_locked(l: u32, s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `348 + l * (25 ±0) + s * (36 ±0)` - // Estimated: `4764` - // Minimum execution time: 35_225_000 picoseconds. - Weight::from_parts(34_420_748, 0) - .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 2_341 - .saturating_add(Weight::from_parts(41_794, 0).saturating_mul(l.into())) - // Standard Error: 4_166 - .saturating_add(Weight::from_parts(114_507, 0).saturating_mul(s.into())) - .saturating_add(T::DbWeight::get().reads(3)) + // Measured: `618 + l * (25 ±0) + s * (36 ±0)` + // Estimated: `7115 + l * (25 ±0) + s * (36 ±0)` + // Minimum execution time: 44_695_000 picoseconds. + Weight::from_parts(44_196_059, 0) + .saturating_add(Weight::from_parts(0, 7115)) + // Standard Error: 5_068 + .saturating_add(Weight::from_parts(36_749, 0).saturating_mul(l.into())) + // Standard Error: 2_503 + .saturating_add(Weight::from_parts(149_674, 0).saturating_mul(s.into())) + .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(2)) + .saturating_add(Weight::from_parts(0, 25).saturating_mul(l.into())) + .saturating_add(Weight::from_parts(0, 36).saturating_mul(s.into())) } - /// Storage: Vesting Vesting (r:1 w:1) - /// Proof: Vesting Vesting (max_values: None, max_size: Some(1057), added: 3532, mode: MaxEncodedLen) - /// Storage: Balances Locks (r:1 w:1) - /// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen) - /// Storage: Balances Freezes (r:1 w:0) - /// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen) + /// Storage: `Vesting::Vesting` (r:1 w:1) + /// Proof: `Vesting::Vesting` (`max_values`: None, `max_size`: Some(3650), added: 6125, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Balances::Locks` (r:1 w:1) + /// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`) + /// Storage: `Balances::Freezes` (r:1 w:0) + /// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`) /// The range of component `l` is `[0, 49]`. - /// The range of component `s` is `[1, 28]`. + /// The range of component `s` is `[1, 100]`. fn vest_unlocked(l: u32, s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `348 + l * (25 ±0) + s * (36 ±0)` - // Estimated: `4764` - // Minimum execution time: 38_507_000 picoseconds. - Weight::from_parts(38_552_717, 0) - .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 2_406 - .saturating_add(Weight::from_parts(42_332, 0).saturating_mul(l.into())) - // Standard Error: 4_282 - .saturating_add(Weight::from_parts(67_638, 0).saturating_mul(s.into())) - .saturating_add(T::DbWeight::get().reads(3)) + // Measured: `618 + l * (25 ±0) + s * (36 ±0)` + // Estimated: `7115 + l * (25 ±0) + s * (36 ±0)` + // Minimum execution time: 47_068_000 picoseconds. + Weight::from_parts(45_670_145, 0) + .saturating_add(Weight::from_parts(0, 7115)) + // Standard Error: 4_509 + .saturating_add(Weight::from_parts(79_968, 0).saturating_mul(l.into())) + // Standard Error: 2_227 + .saturating_add(Weight::from_parts(152_761, 0).saturating_mul(s.into())) + .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(2)) + .saturating_add(Weight::from_parts(0, 25).saturating_mul(l.into())) + .saturating_add(Weight::from_parts(0, 36).saturating_mul(s.into())) } - /// Storage: Vesting Vesting (r:1 w:1) - /// Proof: Vesting Vesting (max_values: None, max_size: Some(1057), added: 3532, mode: MaxEncodedLen) - /// Storage: Balances Locks (r:1 w:1) - /// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen) - /// Storage: Balances Freezes (r:1 w:0) - /// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen) - /// Storage: System Account (r:1 w:1) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) + /// Storage: `Vesting::Vesting` (r:1 w:1) + /// Proof: `Vesting::Vesting` (`max_values`: None, `max_size`: Some(3650), added: 6125, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Balances::Locks` (r:1 w:1) + /// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`) + /// Storage: `Balances::Freezes` (r:1 w:0) + /// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) /// The range of component `l` is `[0, 49]`. - /// The range of component `s` is `[1, 28]`. + /// The range of component `s` is `[1, 100]`. fn vest_other_locked(l: u32, s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `451 + l * (25 ±0) + s * (36 ±0)` - // Estimated: `4764` - // Minimum execution time: 36_919_000 picoseconds. - Weight::from_parts(35_087_984, 0) - .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 2_435 - .saturating_add(Weight::from_parts(66_131, 0).saturating_mul(l.into())) - // Standard Error: 4_333 - .saturating_add(Weight::from_parts(125_178, 0).saturating_mul(s.into())) - .saturating_add(T::DbWeight::get().reads(4)) + // Measured: `1958 + l * (25 ±0) + s * (36 ±0)` + // Estimated: `7115 + l * (25 ±0) + s * (36 ±0)` + // Minimum execution time: 51_460_000 picoseconds. + Weight::from_parts(53_693_600, 0) + .saturating_add(Weight::from_parts(0, 7115)) + // Standard Error: 2_508 + .saturating_add(Weight::from_parts(141_298, 0).saturating_mul(s.into())) + .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(3)) + .saturating_add(Weight::from_parts(0, 25).saturating_mul(l.into())) + .saturating_add(Weight::from_parts(0, 36).saturating_mul(s.into())) } - /// Storage: Vesting Vesting (r:1 w:1) - /// Proof: Vesting Vesting (max_values: None, max_size: Some(1057), added: 3532, mode: MaxEncodedLen) - /// Storage: Balances Locks (r:1 w:1) - /// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen) - /// Storage: Balances Freezes (r:1 w:0) - /// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen) - /// Storage: System Account (r:1 w:1) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) + /// Storage: `Vesting::Vesting` (r:1 w:1) + /// Proof: `Vesting::Vesting` (`max_values`: None, `max_size`: Some(3650), added: 6125, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Balances::Locks` (r:1 w:1) + /// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`) + /// Storage: `Balances::Freezes` (r:1 w:0) + /// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) /// The range of component `l` is `[0, 49]`. - /// The range of component `s` is `[1, 28]`. + /// The range of component `s` is `[1, 100]`. fn vest_other_unlocked(l: u32, s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `451 + l * (25 ±0) + s * (36 ±0)` - // Estimated: `4764` - // Minimum execution time: 40_393_000 picoseconds. - Weight::from_parts(39_522_987, 0) - .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 1_958 - .saturating_add(Weight::from_parts(46_626, 0).saturating_mul(l.into())) - // Standard Error: 3_484 - .saturating_add(Weight::from_parts(94_547, 0).saturating_mul(s.into())) - .saturating_add(T::DbWeight::get().reads(4)) + // Measured: `1958 + l * (25 ±0) + s * (36 ±0)` + // Estimated: `7115 + l * (25 ±0) + s * (36 ±0)` + // Minimum execution time: 54_205_000 picoseconds. + Weight::from_parts(52_927_921, 0) + .saturating_add(Weight::from_parts(0, 7115)) + // Standard Error: 5_313 + .saturating_add(Weight::from_parts(74_664, 0).saturating_mul(l.into())) + // Standard Error: 2_624 + .saturating_add(Weight::from_parts(145_802, 0).saturating_mul(s.into())) + .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(3)) + .saturating_add(Weight::from_parts(0, 25).saturating_mul(l.into())) + .saturating_add(Weight::from_parts(0, 36).saturating_mul(s.into())) } - /// Storage: Vesting Vesting (r:1 w:1) - /// Proof: Vesting Vesting (max_values: None, max_size: Some(1057), added: 3532, mode: MaxEncodedLen) - /// Storage: System Account (r:1 w:1) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - /// Storage: Balances Locks (r:1 w:1) - /// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen) - /// Storage: Balances Freezes (r:1 w:0) - /// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen) + /// Storage: `Vesting::Vesting` (r:1 w:1) + /// Proof: `Vesting::Vesting` (`max_values`: None, `max_size`: Some(3650), added: 6125, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Balances::Locks` (r:1 w:1) + /// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`) + /// Storage: `Balances::Freezes` (r:1 w:0) + /// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`) /// The range of component `l` is `[0, 49]`. - /// The range of component `s` is `[0, 27]`. + /// The range of component `s` is `[0, 99]`. fn vested_transfer(l: u32, s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `522 + l * (25 ±0) + s * (36 ±0)` - // Estimated: `4764` - // Minimum execution time: 72_925_000 picoseconds. - Weight::from_parts(75_858_529, 0) - .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 3_995 - .saturating_add(Weight::from_parts(70_032, 0).saturating_mul(l.into())) - // Standard Error: 7_108 - .saturating_add(Weight::from_parts(160_507, 0).saturating_mul(s.into())) - .saturating_add(T::DbWeight::get().reads(4)) + // Measured: `1996 + l * (25 ±0) + s * (36 ±0)` + // Estimated: `7115 + l * (25 ±0) + s * (36 ±0)` + // Minimum execution time: 97_027_000 picoseconds. + Weight::from_parts(100_082_673, 0) + .saturating_add(Weight::from_parts(0, 7115)) + // Standard Error: 5_911 + .saturating_add(Weight::from_parts(15_350, 0).saturating_mul(l.into())) + // Standard Error: 2_919 + .saturating_add(Weight::from_parts(192_751, 0).saturating_mul(s.into())) + .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(3)) + .saturating_add(Weight::from_parts(0, 25).saturating_mul(l.into())) + .saturating_add(Weight::from_parts(0, 36).saturating_mul(s.into())) } - /// Storage: Vesting Vesting (r:1 w:1) - /// Proof: Vesting Vesting (max_values: None, max_size: Some(1057), added: 3532, mode: MaxEncodedLen) - /// Storage: System Account (r:2 w:2) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - /// Storage: Balances Locks (r:1 w:1) - /// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen) - /// Storage: Balances Freezes (r:1 w:0) - /// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen) + /// Storage: `Vesting::Vesting` (r:1 w:1) + /// Proof: `Vesting::Vesting` (`max_values`: None, `max_size`: Some(3650), added: 6125, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Balances::Locks` (r:1 w:1) + /// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`) + /// Storage: `Balances::Freezes` (r:1 w:0) + /// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`) /// The range of component `l` is `[0, 49]`. - /// The range of component `s` is `[0, 27]`. + /// The range of component `s` is `[0, 99]`. fn force_vested_transfer(l: u32, s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `625 + l * (25 ±0) + s * (36 ±0)` - // Estimated: `6196` - // Minimum execution time: 74_405_000 picoseconds. - Weight::from_parts(78_253_087, 0) - .saturating_add(Weight::from_parts(0, 6196)) - // Standard Error: 3_708 - .saturating_add(Weight::from_parts(56_748, 0).saturating_mul(l.into())) - // Standard Error: 6_598 - .saturating_add(Weight::from_parts(146_713, 0).saturating_mul(s.into())) - .saturating_add(T::DbWeight::get().reads(5)) + // Measured: `3336 + l * (25 ±0) + s * (36 ±0)` + // Estimated: `7115 + l * (25 ±0) + s * (36 ±0)` + // Minimum execution time: 104_060_000 picoseconds. + Weight::from_parts(102_016_559, 0) + .saturating_add(Weight::from_parts(0, 7115)) + // Standard Error: 6_516 + .saturating_add(Weight::from_parts(105_656, 0).saturating_mul(l.into())) + // Standard Error: 3_218 + .saturating_add(Weight::from_parts(196_817, 0).saturating_mul(s.into())) + .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(4)) + .saturating_add(Weight::from_parts(0, 25).saturating_mul(l.into())) + .saturating_add(Weight::from_parts(0, 36).saturating_mul(s.into())) } - /// Storage: Vesting Vesting (r:1 w:1) - /// Proof: Vesting Vesting (max_values: None, max_size: Some(1057), added: 3532, mode: MaxEncodedLen) - /// Storage: Balances Locks (r:1 w:1) - /// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen) - /// Storage: Balances Freezes (r:1 w:0) - /// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen) - /// Storage: System Account (r:1 w:1) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) + /// Storage: `Vesting::Vesting` (r:1 w:1) + /// Proof: `Vesting::Vesting` (`max_values`: None, `max_size`: Some(3650), added: 6125, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Balances::Locks` (r:1 w:1) + /// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`) + /// Storage: `Balances::Freezes` (r:1 w:0) + /// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`) /// The range of component `l` is `[0, 49]`. - /// The range of component `s` is `[2, 28]`. + /// The range of component `s` is `[2, 100]`. fn not_unlocking_merge_schedules(l: u32, s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `449 + l * (25 ±0) + s * (36 ±0)` - // Estimated: `4764` - // Minimum execution time: 37_715_000 picoseconds. - Weight::from_parts(36_483_330, 0) - .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 2_146 - .saturating_add(Weight::from_parts(55_976, 0).saturating_mul(l.into())) - // Standard Error: 3_964 - .saturating_add(Weight::from_parts(116_455, 0).saturating_mul(s.into())) + // Measured: `620 + l * (25 ±0) + s * (36 ±0)` + // Estimated: `7115 + l * (25 ±0) + s * (36 ±0)` + // Minimum execution time: 45_943_000 picoseconds. + Weight::from_parts(41_769_389, 0) + .saturating_add(Weight::from_parts(0, 7115)) + // Standard Error: 4_918 + .saturating_add(Weight::from_parts(117_747, 0).saturating_mul(l.into())) + // Standard Error: 2_459 + .saturating_add(Weight::from_parts(155_325, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(3)) + .saturating_add(T::DbWeight::get().writes(2)) + .saturating_add(Weight::from_parts(0, 25).saturating_mul(l.into())) + .saturating_add(Weight::from_parts(0, 36).saturating_mul(s.into())) } - /// Storage: Vesting Vesting (r:1 w:1) - /// Proof: Vesting Vesting (max_values: None, max_size: Some(1057), added: 3532, mode: MaxEncodedLen) - /// Storage: Balances Locks (r:1 w:1) - /// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen) - /// Storage: Balances Freezes (r:1 w:0) - /// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen) - /// Storage: System Account (r:1 w:1) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) + /// Storage: `Vesting::Vesting` (r:1 w:1) + /// Proof: `Vesting::Vesting` (`max_values`: None, `max_size`: Some(3650), added: 6125, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Balances::Locks` (r:1 w:1) + /// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`) + /// Storage: `Balances::Freezes` (r:1 w:0) + /// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`) /// The range of component `l` is `[0, 49]`. - /// The range of component `s` is `[2, 28]`. + /// The range of component `s` is `[2, 100]`. fn unlocking_merge_schedules(l: u32, s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `449 + l * (25 ±0) + s * (36 ±0)` - // Estimated: `4764` - // Minimum execution time: 42_102_000 picoseconds. - Weight::from_parts(41_671_515, 0) - .saturating_add(Weight::from_parts(0, 4764)) - // Standard Error: 2_743 - .saturating_add(Weight::from_parts(47_496, 0).saturating_mul(l.into())) - // Standard Error: 5_065 - .saturating_add(Weight::from_parts(95_785, 0).saturating_mul(s.into())) + // Measured: `620 + l * (25 ±0) + s * (36 ±0)` + // Estimated: `7115 + l * (25 ±0) + s * (36 ±0)` + // Minimum execution time: 48_785_000 picoseconds. + Weight::from_parts(47_605_124, 0) + .saturating_add(Weight::from_parts(0, 7115)) + // Standard Error: 4_349 + .saturating_add(Weight::from_parts(52_969, 0).saturating_mul(l.into())) + // Standard Error: 2_174 + .saturating_add(Weight::from_parts(162_408, 0).saturating_mul(s.into())) .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(3)) + .saturating_add(T::DbWeight::get().writes(2)) + .saturating_add(Weight::from_parts(0, 25).saturating_mul(l.into())) + .saturating_add(Weight::from_parts(0, 36).saturating_mul(s.into())) } - /// Storage: `Vesting::Vesting` (r:1 w:1) - /// Proof: `Vesting::Vesting` (`max_values`: None, `max_size`: Some(1057), added: 3532, mode: `MaxEncodedLen`) + /// Proof: `Vesting::Vesting` (`max_values`: None, `max_size`: Some(3650), added: 6125, mode: `MaxEncodedLen`) + /// Storage: `ParachainSystem::ValidationData` (r:1 w:0) + /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) /// Storage: `Balances::Locks` (r:1 w:1) /// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`) /// Storage: `Balances::Freezes` (r:1 w:0) - /// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`) + /// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`) /// Storage: `System::Account` (r:1 w:1) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) /// The range of component `l` is `[0, 49]`. - /// The range of component `s` is `[2, 28]`. - fn force_remove_vesting_schedule(l: u32, s: u32) -> Weight { + /// The range of component `s` is `[2, 100]`. + fn force_remove_vesting_schedule(l: u32, s: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `555 + l * (25 ±0) + s * (36 ±0)` - // Estimated: `4764` - // Minimum execution time: 41_497_000 picoseconds. - Weight::from_parts(38_763_834, 4764) - // Standard Error: 2_030 - .saturating_add(Weight::from_parts(99_580, 0).saturating_mul(l.into())) - // Standard Error: 3_750 - .saturating_add(Weight::from_parts(132_188, 0).saturating_mul(s.into())) - .saturating_add(T::DbWeight::get().reads(4_u64)) - .saturating_add(T::DbWeight::get().writes(3_u64)) + // Measured: `1998 + l * (25 ±0) + s * (36 ±0)` + // Estimated: `7115 + l * (25 ±0) + s * (36 ±0)` + // Minimum execution time: 57_606_000 picoseconds. + Weight::from_parts(60_142_375, 0) + .saturating_add(Weight::from_parts(0, 7115)) + // Standard Error: 4_585 + .saturating_add(Weight::from_parts(2_678, 0).saturating_mul(l.into())) + // Standard Error: 2_292 + .saturating_add(Weight::from_parts(133_189, 0).saturating_mul(s.into())) + .saturating_add(T::DbWeight::get().reads(5)) + .saturating_add(T::DbWeight::get().writes(3)) + .saturating_add(Weight::from_parts(0, 25).saturating_mul(l.into())) + .saturating_add(Weight::from_parts(0, 36).saturating_mul(s.into())) } } diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_whitelist.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_whitelist.rs index 0657f8537cb83..24308bb13bb04 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_whitelist.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_whitelist.rs @@ -1,5 +1,4 @@ // Copyright (C) Parity Technologies (UK) Ltd. -// This file is part of Cumulus. // SPDX-License-Identifier: Apache-2.0 // Licensed under the Apache License, Version 2.0 (the "License"); @@ -16,26 +15,29 @@ //! Autogenerated weights for `pallet_whitelist` //! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2023-07-12, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 +//! DATE: 2025-10-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `runner-o7yfgx5n-project-163-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("westend-dev")`, DB CACHE: 1024 +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: -// target/production/polkadot +// frame-omni-bencher +// v1 // benchmark // pallet -// --steps=50 -// --repeat=20 // --extrinsic=* +// --runtime=target/production/wbuild/asset-hub-westend-runtime/asset_hub_westend_runtime.wasm +// --pallet=pallet_whitelist +// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt +// --output=./cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights // --wasm-execution=compiled +// --steps=50 +// --repeat=20 // --heap-pages=4096 -// --json-file=/builds/parity/mirrors/polkadot/.git/.artifacts/bench.json -// --pallet=pallet_whitelist -// --chain=westend-dev -// --header=./file_header.txt -// --output=./runtime/westend/src/weights/ +// --no-storage-info +// --no-min-squares +// --no-median-slopes #![cfg_attr(rustfmt, rustfmt_skip)] #![allow(unused_parens)] @@ -50,67 +52,75 @@ pub struct WeightInfo(PhantomData); impl pallet_whitelist::WeightInfo for WeightInfo { /// Storage: `Whitelist::WhitelistedCall` (r:1 w:1) /// Proof: `Whitelist::WhitelistedCall` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`) - /// Storage: `Preimage::StatusFor` (r:1 w:1) + /// Storage: `Preimage::StatusFor` (r:1 w:0) /// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`) + /// Storage: `Preimage::RequestStatusFor` (r:1 w:1) + /// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`) fn whitelist_call() -> Weight { // Proof Size summary in bytes: - // Measured: `122` + // Measured: `46` // Estimated: `3556` - // Minimum execution time: 21_188_000 picoseconds. - Weight::from_parts(21_804_000, 0) + // Minimum execution time: 20_456_000 picoseconds. + Weight::from_parts(21_722_000, 0) .saturating_add(Weight::from_parts(0, 3556)) - .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) } /// Storage: `Whitelist::WhitelistedCall` (r:1 w:1) /// Proof: `Whitelist::WhitelistedCall` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`) - /// Storage: `Preimage::StatusFor` (r:1 w:1) + /// Storage: `Preimage::StatusFor` (r:1 w:0) /// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`) + /// Storage: `Preimage::RequestStatusFor` (r:1 w:1) + /// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`) fn remove_whitelisted_call() -> Weight { // Proof Size summary in bytes: - // Measured: `251` + // Measured: `175` // Estimated: `3556` - // Minimum execution time: 17_655_000 picoseconds. - Weight::from_parts(19_443_000, 0) + // Minimum execution time: 20_510_000 picoseconds. + Weight::from_parts(21_541_000, 0) .saturating_add(Weight::from_parts(0, 3556)) - .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) } /// Storage: `Whitelist::WhitelistedCall` (r:1 w:1) /// Proof: `Whitelist::WhitelistedCall` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`) /// Storage: `Preimage::PreimageFor` (r:1 w:1) /// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `Measured`) - /// Storage: `Preimage::StatusFor` (r:1 w:1) + /// Storage: `Preimage::StatusFor` (r:1 w:0) /// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`) + /// Storage: `Preimage::RequestStatusFor` (r:1 w:1) + /// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`) /// The range of component `n` is `[1, 4194294]`. fn dispatch_whitelisted_call(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `327 + n * (1 ±0)` - // Estimated: `3791 + n * (1 ±0)` - // Minimum execution time: 30_540_000 picoseconds. - Weight::from_parts(30_886_000, 0) - .saturating_add(Weight::from_parts(0, 3791)) - // Standard Error: 9 - .saturating_add(Weight::from_parts(1_779, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(3)) + // Measured: `251 + n * (1 ±0)` + // Estimated: `3715 + n * (1 ±0)` + // Minimum execution time: 35_173_000 picoseconds. + Weight::from_parts(35_991_000, 0) + .saturating_add(Weight::from_parts(0, 3715)) + // Standard Error: 3 + .saturating_add(Weight::from_parts(1_716, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) .saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into())) } /// Storage: `Whitelist::WhitelistedCall` (r:1 w:1) /// Proof: `Whitelist::WhitelistedCall` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`) - /// Storage: `Preimage::StatusFor` (r:1 w:1) + /// Storage: `Preimage::StatusFor` (r:1 w:0) /// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`) + /// Storage: `Preimage::RequestStatusFor` (r:1 w:1) + /// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`) /// The range of component `n` is `[1, 10000]`. fn dispatch_whitelisted_call_with_preimage(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `251` + // Measured: `175` // Estimated: `3556` - // Minimum execution time: 21_082_000 picoseconds. - Weight::from_parts(21_922_294, 0) + // Minimum execution time: 24_762_000 picoseconds. + Weight::from_parts(25_894_891, 0) .saturating_add(Weight::from_parts(0, 3556)) - // Standard Error: 4 - .saturating_add(Weight::from_parts(1_412, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(2)) + // Standard Error: 7 + .saturating_add(Weight::from_parts(1_361, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(2)) } } diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_xcm.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_xcm.rs index 1ddc3d01ec4d7..444e1843982ef 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_xcm.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_xcm.rs @@ -16,9 +16,9 @@ //! Autogenerated weights for `pallet_xcm` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-07-30, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2025-10-04, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `601cc0634d73`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: @@ -64,8 +64,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `378` // Estimated: `3843` - // Minimum execution time: 38_049_000 picoseconds. - Weight::from_parts(43_000_000, 0) + // Minimum execution time: 38_427_000 picoseconds. + Weight::from_parts(40_426_000, 0) .saturating_add(Weight::from_parts(0, 3843)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(2)) @@ -90,8 +90,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `2928` // Estimated: `6393` - // Minimum execution time: 162_919_000 picoseconds. - Weight::from_parts(171_214_000, 0) + // Minimum execution time: 173_780_000 picoseconds. + Weight::from_parts(178_704_000, 0) .saturating_add(Weight::from_parts(0, 6393)) .saturating_add(T::DbWeight::get().reads(8)) .saturating_add(T::DbWeight::get().writes(4)) @@ -116,8 +116,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `2829` // Estimated: `6294` - // Minimum execution time: 157_079_000 picoseconds. - Weight::from_parts(163_944_000, 0) + // Minimum execution time: 169_801_000 picoseconds. + Weight::from_parts(175_313_000, 0) .saturating_add(Weight::from_parts(0, 6294)) .saturating_add(T::DbWeight::get().reads(8)) .saturating_add(T::DbWeight::get().writes(4)) @@ -148,8 +148,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `4461` // Estimated: `8799` - // Minimum execution time: 243_058_000 picoseconds. - Weight::from_parts(253_065_000, 0) + // Minimum execution time: 262_187_000 picoseconds. + Weight::from_parts(270_554_000, 0) .saturating_add(Weight::from_parts(0, 8799)) .saturating_add(T::DbWeight::get().reads(13)) .saturating_add(T::DbWeight::get().writes(8)) @@ -160,8 +160,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `1485` - // Minimum execution time: 10_467_000 picoseconds. - Weight::from_parts(11_021_000, 0) + // Minimum execution time: 11_487_000 picoseconds. + Weight::from_parts(11_957_000, 0) .saturating_add(Weight::from_parts(0, 1485)) .saturating_add(T::DbWeight::get().reads(1)) } @@ -171,8 +171,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 8_401_000 picoseconds. - Weight::from_parts(9_107_000, 0) + // Minimum execution time: 9_328_000 picoseconds. + Weight::from_parts(9_965_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -180,8 +180,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 2_570_000 picoseconds. - Weight::from_parts(2_800_000, 0) + // Minimum execution time: 2_900_000 picoseconds. + Weight::from_parts(3_073_000, 0) .saturating_add(Weight::from_parts(0, 0)) } /// Storage: `PolkadotXcm::VersionNotifiers` (r:1 w:1) @@ -204,8 +204,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `378` // Estimated: `3843` - // Minimum execution time: 44_107_000 picoseconds. - Weight::from_parts(45_808_000, 0) + // Minimum execution time: 46_951_000 picoseconds. + Weight::from_parts(49_158_000, 0) .saturating_add(Weight::from_parts(0, 3843)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(5)) @@ -228,8 +228,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `537` // Estimated: `108971` - // Minimum execution time: 47_432_000 picoseconds. - Weight::from_parts(49_109_000, 0) + // Minimum execution time: 49_681_000 picoseconds. + Weight::from_parts(51_428_000, 0) .saturating_add(Weight::from_parts(0, 108971)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(3)) @@ -240,8 +240,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 2_663_000 picoseconds. - Weight::from_parts(2_834_000, 0) + // Minimum execution time: 2_842_000 picoseconds. + Weight::from_parts(3_231_000, 0) .saturating_add(Weight::from_parts(0, 0)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -251,8 +251,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `22` // Estimated: `15862` - // Minimum execution time: 24_527_000 picoseconds. - Weight::from_parts(25_001_000, 0) + // Minimum execution time: 25_847_000 picoseconds. + Weight::from_parts(26_311_000, 0) .saturating_add(Weight::from_parts(0, 15862)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(2)) @@ -263,8 +263,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `26` // Estimated: `15866` - // Minimum execution time: 23_654_000 picoseconds. - Weight::from_parts(24_456_000, 0) + // Minimum execution time: 25_204_000 picoseconds. + Weight::from_parts(25_847_000, 0) .saturating_add(Weight::from_parts(0, 15866)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(2)) @@ -275,8 +275,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `39` // Estimated: `18354` - // Minimum execution time: 29_102_000 picoseconds. - Weight::from_parts(29_697_000, 0) + // Minimum execution time: 30_196_000 picoseconds. + Weight::from_parts(30_936_000, 0) .saturating_add(Weight::from_parts(0, 18354)) .saturating_add(T::DbWeight::get().reads(7)) } @@ -292,8 +292,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `320` // Estimated: `6260` - // Minimum execution time: 40_295_000 picoseconds. - Weight::from_parts(42_747_000, 0) + // Minimum execution time: 43_207_000 picoseconds. + Weight::from_parts(45_668_000, 0) .saturating_add(Weight::from_parts(0, 6260)) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(1)) @@ -304,8 +304,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `39` // Estimated: `13404` - // Minimum execution time: 20_848_000 picoseconds. - Weight::from_parts(21_325_000, 0) + // Minimum execution time: 21_410_000 picoseconds. + Weight::from_parts(21_853_000, 0) .saturating_add(Weight::from_parts(0, 13404)) .saturating_add(T::DbWeight::get().reads(5)) } @@ -315,8 +315,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `33` // Estimated: `15873` - // Minimum execution time: 25_329_000 picoseconds. - Weight::from_parts(25_654_000, 0) + // Minimum execution time: 25_405_000 picoseconds. + Weight::from_parts(26_205_000, 0) .saturating_add(Weight::from_parts(0, 15873)) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(2)) @@ -333,8 +333,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `320` // Estimated: `16160` - // Minimum execution time: 53_724_000 picoseconds. - Weight::from_parts(55_468_000, 0) + // Minimum execution time: 55_154_000 picoseconds. + Weight::from_parts(57_277_000, 0) .saturating_add(Weight::from_parts(0, 16160)) .saturating_add(T::DbWeight::get().reads(9)) .saturating_add(T::DbWeight::get().writes(1)) @@ -347,8 +347,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `1485` - // Minimum execution time: 2_700_000 picoseconds. - Weight::from_parts(2_906_000, 0) + // Minimum execution time: 3_148_000 picoseconds. + Weight::from_parts(3_298_000, 0) .saturating_add(Weight::from_parts(0, 1485)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(2)) @@ -359,8 +359,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `7576` // Estimated: `11041` - // Minimum execution time: 29_164_000 picoseconds. - Weight::from_parts(29_794_000, 0) + // Minimum execution time: 32_233_000 picoseconds. + Weight::from_parts(32_905_000, 0) .saturating_add(Weight::from_parts(0, 11041)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -377,8 +377,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `337` // Estimated: `3802` - // Minimum execution time: 50_961_000 picoseconds. - Weight::from_parts(53_730_000, 0) + // Minimum execution time: 55_507_000 picoseconds. + Weight::from_parts(58_231_000, 0) .saturating_add(Weight::from_parts(0, 3802)) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) @@ -391,8 +391,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `1936` // Estimated: `5401` - // Minimum execution time: 62_955_000 picoseconds. - Weight::from_parts(64_184_000, 0) + // Minimum execution time: 68_148_000 picoseconds. + Weight::from_parts(70_492_000, 0) .saturating_add(Weight::from_parts(0, 5401)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -405,8 +405,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `2292` // Estimated: `5757` - // Minimum execution time: 64_429_000 picoseconds. - Weight::from_parts(65_916_000, 0) + // Minimum execution time: 70_047_000 picoseconds. + Weight::from_parts(71_965_000, 0) .saturating_add(Weight::from_parts(0, 5757)) .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(2)) @@ -415,8 +415,8 @@ impl pallet_xcm::WeightInfo for WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 8_604_000 picoseconds. - Weight::from_parts(8_790_000, 0) + // Minimum execution time: 8_891_000 picoseconds. + Weight::from_parts(9_126_000, 0) .saturating_add(Weight::from_parts(0, 0)) } } diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_xcm_bridge_hub_router.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_xcm_bridge_hub_router.rs index b96cb9a285f24..6ce50c89545ac 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_xcm_bridge_hub_router.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_xcm_bridge_hub_router.rs @@ -16,9 +16,9 @@ //! Autogenerated weights for `pallet_xcm_bridge_hub_router` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2025-10-04, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `73b9817d6032`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: @@ -58,10 +58,10 @@ impl pallet_xcm_bridge_hub_router::WeightInfo for Weigh /// Proof: `ToRococoXcmRouter::Bridge` (`max_values`: Some(1), `max_size`: Some(17), added: 512, mode: `MaxEncodedLen`) fn on_initialize_when_non_congested() -> Weight { // Proof Size summary in bytes: - // Measured: `259` + // Measured: `457` // Estimated: `5487` - // Minimum execution time: 11_878_000 picoseconds. - Weight::from_parts(12_382_000, 0) + // Minimum execution time: 20_750_000 picoseconds. + Weight::from_parts(22_325_000, 0) .saturating_add(Weight::from_parts(0, 5487)) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(1)) @@ -72,10 +72,10 @@ impl pallet_xcm_bridge_hub_router::WeightInfo for Weigh /// Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: Some(1282), added: 1777, mode: `MaxEncodedLen`) fn on_initialize_when_congested() -> Weight { // Proof Size summary in bytes: - // Measured: `144` + // Measured: `210` // Estimated: `5487` - // Minimum execution time: 5_094_000 picoseconds. - Weight::from_parts(5_316_000, 0) + // Minimum execution time: 5_360_000 picoseconds. + Weight::from_parts(5_663_000, 0) .saturating_add(Weight::from_parts(0, 5487)) .saturating_add(T::DbWeight::get().reads(2)) } @@ -83,10 +83,10 @@ impl pallet_xcm_bridge_hub_router::WeightInfo for Weigh /// Proof: `ToRococoXcmRouter::Bridge` (`max_values`: Some(1), `max_size`: Some(17), added: 512, mode: `MaxEncodedLen`) fn report_bridge_status() -> Weight { // Proof Size summary in bytes: - // Measured: `150` + // Measured: `282` // Estimated: `1502` - // Minimum execution time: 9_591_000 picoseconds. - Weight::from_parts(10_157_000, 0) + // Minimum execution time: 18_124_000 picoseconds. + Weight::from_parts(18_963_000, 0) .saturating_add(Weight::from_parts(0, 1502)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/snowbridge_pallet_system_frontend.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/snowbridge_pallet_system_frontend.rs index 3bcf5e11ce200..d705d4f782e23 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/snowbridge_pallet_system_frontend.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/snowbridge_pallet_system_frontend.rs @@ -16,22 +16,28 @@ //! Autogenerated weights for `snowbridge_pallet_system_frontend` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-05-14, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2025-10-04, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `MacBook-Pro-4.local`, CPU: `` -//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-westend-dev")`, DB CACHE: 1024 +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: -// ./target/release/polkadot-parachain +// frame-omni-bencher +// v1 // benchmark // pallet -// --chain -// asset-hub-westend-dev -// --pallet=snowbridge-pallet-system-frontend // --extrinsic=* +// --runtime=target/production/wbuild/asset-hub-westend-runtime/asset_hub_westend_runtime.wasm +// --pallet=snowbridge_pallet_system_frontend +// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt +// --output=./cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights // --wasm-execution=compiled -// --output -// cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/snowbridge_pallet_system_frontend.rs +// --steps=50 +// --repeat=20 +// --heap-pages=4096 +// --no-storage-info +// --no-min-squares +// --no-median-slopes #![cfg_attr(rustfmt, rustfmt_skip)] #![allow(unused_parens)] @@ -48,16 +54,25 @@ impl snowbridge_pallet_system_frontend::WeightInfo for /// Proof: `SnowbridgeSystemFrontend::ExportOperatingMode` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`) /// Storage: `ParachainInfo::ParachainId` (r:1 w:0) /// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssets::Asset` (r:1 w:0) + /// Storage: `ForeignAssets::Asset` (r:2 w:1) /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) + /// Storage: UNKNOWN KEY `0x1b38344db996cce0ee20ee2bfb1848ff` (r:1 w:0) + /// Proof: UNKNOWN KEY `0x1b38344db996cce0ee20ee2bfb1848ff` (r:1 w:0) + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssets::Account` (r:2 w:2) + /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) + /// Storage: `ForeignAssetsFreezer::FrozenBalances` (r:2 w:0) + /// Proof: `ForeignAssetsFreezer::FrozenBalances` (`max_values`: None, `max_size`: Some(682), added: 3157, mode: `MaxEncodedLen`) fn register_token() -> Weight { // Proof Size summary in bytes: - // Measured: `456` - // Estimated: `4273` - // Minimum execution time: 15_000_000 picoseconds. - Weight::from_parts(16_000_000, 0) - .saturating_add(Weight::from_parts(0, 4273)) - .saturating_add(T::DbWeight::get().reads(3)) + // Measured: `3770` + // Estimated: `7556` + // Minimum execution time: 194_138_000 picoseconds. + Weight::from_parts(201_720_000, 0) + .saturating_add(Weight::from_parts(0, 7556)) + .saturating_add(T::DbWeight::get().reads(11)) + .saturating_add(T::DbWeight::get().writes(5)) } /// Storage: UNKNOWN KEY `0x1b38344db996cce0ee20ee2bfb1848ff` (r:1 w:0) /// Proof: UNKNOWN KEY `0x1b38344db996cce0ee20ee2bfb1848ff` (r:1 w:0) @@ -67,20 +82,18 @@ impl snowbridge_pallet_system_frontend::WeightInfo for /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`) /// Storage: `ForeignAssets::Account` (r:2 w:2) /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssetsFreezer::FrozenBalances` (r:2 w:1) + /// Storage: `ForeignAssetsFreezer::FrozenBalances` (r:2 w:0) /// Proof: `ForeignAssetsFreezer::FrozenBalances` (`max_values`: None, `max_size`: Some(682), added: 3157, mode: `MaxEncodedLen`) /// Storage: `ParachainInfo::ParachainId` (r:1 w:0) /// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `ForeignAssetsFreezer::Freezes` (r:1 w:1) - /// Proof: `ForeignAssetsFreezer::Freezes` (`max_values`: None, `max_size`: Some(685), added: 3160, mode: `MaxEncodedLen`) fn add_tip() -> Weight { // Proof Size summary in bytes: - // Measured: `685` + // Measured: `2064` // Estimated: `7404` - // Minimum execution time: 136_000_000 picoseconds. - Weight::from_parts(139_000_000, 0) + // Minimum execution time: 172_122_000 picoseconds. + Weight::from_parts(177_485_000, 0) .saturating_add(Weight::from_parts(0, 7404)) - .saturating_add(T::DbWeight::get().reads(9)) - .saturating_add(T::DbWeight::get().writes(6)) + .saturating_add(T::DbWeight::get().reads(8)) + .saturating_add(T::DbWeight::get().writes(4)) } } diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/xcm/pallet_xcm_benchmarks_fungible.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/xcm/pallet_xcm_benchmarks_fungible.rs index 12e6bf3fe97ef..b0352c31a3b03 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/xcm/pallet_xcm_benchmarks_fungible.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/xcm/pallet_xcm_benchmarks_fungible.rs @@ -16,9 +16,9 @@ //! Autogenerated weights for `pallet_xcm_benchmarks::fungible` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-07-30, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2025-10-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `601cc0634d73`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024 // Executed Command: @@ -64,8 +64,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `1270` // Estimated: `3675` - // Minimum execution time: 63_006_000 picoseconds. - Weight::from_parts(64_684_000, 3675) + // Minimum execution time: 68_388_000 picoseconds. + Weight::from_parts(70_705_000, 3675) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(5)) } @@ -81,8 +81,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `1533` // Estimated: `6208` - // Minimum execution time: 61_134_000 picoseconds. - Weight::from_parts(62_630_000, 6208) + // Minimum execution time: 65_894_000 picoseconds. + Weight::from_parts(68_145_000, 6208) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(4)) } @@ -110,8 +110,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `4165` // Estimated: `8799` - // Minimum execution time: 160_634_000 picoseconds. - Weight::from_parts(164_735_000, 8799) + // Minimum execution time: 172_381_000 picoseconds. + Weight::from_parts(177_279_000, 8799) .saturating_add(T::DbWeight::get().reads(12)) .saturating_add(T::DbWeight::get().writes(8)) } @@ -119,8 +119,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_550_000 picoseconds. - Weight::from_parts(1_655_000, 0) + // Minimum execution time: 1_679_000 picoseconds. + Weight::from_parts(1_790_000, 0) } // Storage: `ParachainInfo::ParachainId` (r:1 w:0) // Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) @@ -140,8 +140,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `2632` // Estimated: `6196` - // Minimum execution time: 137_823_000 picoseconds. - Weight::from_parts(141_470_000, 6196) + // Minimum execution time: 148_271_000 picoseconds. + Weight::from_parts(152_130_000, 6196) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().writes(4)) } @@ -151,8 +151,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `1274` // Estimated: `3593` - // Minimum execution time: 36_159_000 picoseconds. - Weight::from_parts(37_617_000, 3593) + // Minimum execution time: 40_582_000 picoseconds. + Weight::from_parts(41_621_000, 3593) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -166,8 +166,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `1421` // Estimated: `3675` - // Minimum execution time: 44_280_000 picoseconds. - Weight::from_parts(46_439_000, 3675) + // Minimum execution time: 46_562_000 picoseconds. + Weight::from_parts(49_437_000, 3675) .saturating_add(T::DbWeight::get().reads(3)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -193,8 +193,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `1935` // Estimated: `5400` - // Minimum execution time: 100_045_000 picoseconds. - Weight::from_parts(104_239_000, 5400) + // Minimum execution time: 107_181_000 picoseconds. + Weight::from_parts(110_656_000, 5400) .saturating_add(T::DbWeight::get().reads(8)) .saturating_add(T::DbWeight::get().writes(5)) } @@ -216,8 +216,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `828` // Estimated: `4293` - // Minimum execution time: 74_309_000 picoseconds. - Weight::from_parts(77_487_000, 4293) + // Minimum execution time: 78_536_000 picoseconds. + Weight::from_parts(82_473_000, 4293) .saturating_add(T::DbWeight::get().reads(6)) .saturating_add(T::DbWeight::get().writes(2)) } @@ -243,8 +243,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `3209` // Estimated: `6674` - // Minimum execution time: 121_698_000 picoseconds. - Weight::from_parts(125_795_000, 6674) + // Minimum execution time: 129_701_000 picoseconds. + Weight::from_parts(133_479_000, 6674) .saturating_add(T::DbWeight::get().reads(9)) .saturating_add(T::DbWeight::get().writes(6)) } diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/xcm/pallet_xcm_benchmarks_generic.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/xcm/pallet_xcm_benchmarks_generic.rs index 04ed54ad8f48b..7b634e500b325 100644 --- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/xcm/pallet_xcm_benchmarks_generic.rs +++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/xcm/pallet_xcm_benchmarks_generic.rs @@ -16,9 +16,9 @@ //! Autogenerated weights for `pallet_xcm_benchmarks::generic` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-07-30, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2025-10-03, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `601cc0634d73`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `c458e2e54901`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024 // Executed Command: @@ -68,8 +68,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `2632` // Estimated: `6196` - // Minimum execution time: 128_179_000 picoseconds. - Weight::from_parts(132_827_000, 6196) + // Minimum execution time: 135_335_000 picoseconds. + Weight::from_parts(139_234_000, 6196) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().writes(4)) } @@ -79,8 +79,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `3593` - // Minimum execution time: 6_735_000 picoseconds. - Weight::from_parts(7_064_000, 3593) + // Minimum execution time: 6_957_000 picoseconds. + Weight::from_parts(7_501_000, 3593) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -90,8 +90,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `3593` - // Minimum execution time: 6_580_000 picoseconds. - Weight::from_parts(7_050_000, 3593) + // Minimum execution time: 7_012_000 picoseconds. + Weight::from_parts(7_512_000, 3593) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -99,8 +99,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 773_000 picoseconds. - Weight::from_parts(829_000, 0) + // Minimum execution time: 825_000 picoseconds. + Weight::from_parts(920_000, 0) } // Storage: `PolkadotXcm::Queries` (r:1 w:0) // Proof: `PolkadotXcm::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`) @@ -108,51 +108,51 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `3465` - // Minimum execution time: 6_112_000 picoseconds. - Weight::from_parts(6_358_000, 3465) + // Minimum execution time: 6_329_000 picoseconds. + Weight::from_parts(6_613_000, 3465) .saturating_add(T::DbWeight::get().reads(1)) } pub fn transact() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 8_002_000 picoseconds. - Weight::from_parts(8_377_000, 0) + // Minimum execution time: 8_405_000 picoseconds. + Weight::from_parts(8_814_000, 0) } pub fn refund_surplus() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 1_344_000 picoseconds. - Weight::from_parts(1_497_000, 0) + // Minimum execution time: 1_410_000 picoseconds. + Weight::from_parts(1_528_000, 0) } pub fn set_error_handler() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 786_000 picoseconds. - Weight::from_parts(840_000, 0) + // Minimum execution time: 840_000 picoseconds. + Weight::from_parts(921_000, 0) } pub fn set_appendix() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 737_000 picoseconds. - Weight::from_parts(805_000, 0) + // Minimum execution time: 841_000 picoseconds. + Weight::from_parts(892_000, 0) } pub fn clear_error() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 745_000 picoseconds. - Weight::from_parts(810_000, 0) + // Minimum execution time: 800_000 picoseconds. + Weight::from_parts(865_000, 0) } pub fn descend_origin() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 774_000 picoseconds. - Weight::from_parts(828_000, 0) + // Minimum execution time: 801_000 picoseconds. + Weight::from_parts(877_000, 0) } // Storage: `Benchmark::Override` (r:0 w:0) // Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`) @@ -167,8 +167,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 739_000 picoseconds. - Weight::from_parts(822_000, 0) + // Minimum execution time: 813_000 picoseconds. + Weight::from_parts(862_000, 0) } // Storage: `ParachainInfo::ParachainId` (r:1 w:0) // Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) @@ -188,8 +188,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `2632` // Estimated: `6196` - // Minimum execution time: 91_221_000 picoseconds. - Weight::from_parts(93_944_000, 6196) + // Minimum execution time: 95_965_000 picoseconds. + Weight::from_parts(100_333_000, 6196) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().writes(4)) } @@ -199,8 +199,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `23` // Estimated: `3488` - // Minimum execution time: 9_795_000 picoseconds. - Weight::from_parts(10_091_000, 3488) + // Minimum execution time: 10_290_000 picoseconds. + Weight::from_parts(10_796_000, 3488) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } @@ -208,8 +208,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 3_599_000 picoseconds. - Weight::from_parts(3_920_000, 0) + // Minimum execution time: 3_955_000 picoseconds. + Weight::from_parts(4_106_000, 0) } // Storage: `PolkadotXcm::VersionNotifyTargets` (r:1 w:1) // Proof: `PolkadotXcm::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`) @@ -227,8 +227,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `378` // Estimated: `3843` - // Minimum execution time: 36_969_000 picoseconds. - Weight::from_parts(37_920_000, 3843) + // Minimum execution time: 38_791_000 picoseconds. + Weight::from_parts(40_782_000, 3843) .saturating_add(T::DbWeight::get().reads(5)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -238,44 +238,44 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 3_401_000 picoseconds. - Weight::from_parts(3_642_000, 0) + // Minimum execution time: 3_564_000 picoseconds. + Weight::from_parts(3_799_000, 0) .saturating_add(T::DbWeight::get().writes(1)) } pub fn burn_asset() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 23_275_000 picoseconds. - Weight::from_parts(23_612_000, 0) + // Minimum execution time: 23_810_000 picoseconds. + Weight::from_parts(24_219_000, 0) } pub fn expect_asset() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 5_950_000 picoseconds. - Weight::from_parts(6_129_000, 0) + // Minimum execution time: 6_012_000 picoseconds. + Weight::from_parts(6_192_000, 0) } pub fn expect_origin() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 3_589_000 picoseconds. - Weight::from_parts(3_806_000, 0) + // Minimum execution time: 3_863_000 picoseconds. + Weight::from_parts(4_077_000, 0) } pub fn expect_error() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 3_648_000 picoseconds. - Weight::from_parts(3_844_000, 0) + // Minimum execution time: 3_956_000 picoseconds. + Weight::from_parts(4_127_000, 0) } pub fn expect_transact_status() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 917_000 picoseconds. - Weight::from_parts(975_000, 0) + // Minimum execution time: 986_000 picoseconds. + Weight::from_parts(1_077_000, 0) } // Storage: `ParachainInfo::ParachainId` (r:1 w:0) // Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) @@ -295,8 +295,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `2632` // Estimated: `6196` - // Minimum execution time: 100_417_000 picoseconds. - Weight::from_parts(102_884_000, 6196) + // Minimum execution time: 108_174_000 picoseconds. + Weight::from_parts(112_805_000, 6196) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().writes(4)) } @@ -304,8 +304,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 8_030_000 picoseconds. - Weight::from_parts(8_265_000, 0) + // Minimum execution time: 9_619_000 picoseconds. + Weight::from_parts(10_023_000, 0) } // Storage: `ParachainInfo::ParachainId` (r:1 w:0) // Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) @@ -325,8 +325,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `2632` // Estimated: `6196` - // Minimum execution time: 91_164_000 picoseconds. - Weight::from_parts(93_992_000, 6196) + // Minimum execution time: 96_950_000 picoseconds. + Weight::from_parts(99_418_000, 6196) .saturating_add(T::DbWeight::get().reads(7)) .saturating_add(T::DbWeight::get().writes(4)) } @@ -334,22 +334,22 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 780_000 picoseconds. - Weight::from_parts(842_000, 0) + // Minimum execution time: 893_000 picoseconds. + Weight::from_parts(964_000, 0) } pub fn set_topic() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 707_000 picoseconds. - Weight::from_parts(768_000, 0) + // Minimum execution time: 781_000 picoseconds. + Weight::from_parts(868_000, 0) } pub fn clear_topic() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 711_000 picoseconds. - Weight::from_parts(775_000, 0) + // Minimum execution time: 787_000 picoseconds. + Weight::from_parts(866_000, 0) } // Storage: `System::Account` (r:1 w:1) // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) @@ -363,8 +363,8 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `1244` // Estimated: `4273` - // Minimum execution time: 93_724_000 picoseconds. - Weight::from_parts(96_332_000, 4273) + // Minimum execution time: 101_218_000 picoseconds. + Weight::from_parts(104_873_000, 4273) .saturating_add(T::DbWeight::get().reads(4)) .saturating_add(T::DbWeight::get().writes(3)) } @@ -374,29 +374,29 @@ impl WeightInfo { // Proof Size summary in bytes: // Measured: `136` // Estimated: `1489` - // Minimum execution time: 5_567_000 picoseconds. - Weight::from_parts(5_841_000, 1489) + // Minimum execution time: 5_666_000 picoseconds. + Weight::from_parts(5_890_000, 1489) .saturating_add(T::DbWeight::get().reads(1)) } pub fn set_fees_mode() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 713_000 picoseconds. - Weight::from_parts(779_000, 0) + // Minimum execution time: 792_000 picoseconds. + Weight::from_parts(872_000, 0) } pub fn unpaid_execution() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 728_000 picoseconds. - Weight::from_parts(783_000, 0) + // Minimum execution time: 838_000 picoseconds. + Weight::from_parts(900_000, 0) } pub fn alias_origin() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 777_000 picoseconds. - Weight::from_parts(859_000, 0) + // Minimum execution time: 836_000 picoseconds. + Weight::from_parts(902_000, 0) } } diff --git a/cumulus/primitives/proof-size-hostfunction/Cargo.toml b/cumulus/primitives/proof-size-hostfunction/Cargo.toml index b3b300d66ef32..8bb8a834ce669 100644 --- a/cumulus/primitives/proof-size-hostfunction/Cargo.toml +++ b/cumulus/primitives/proof-size-hostfunction/Cargo.toml @@ -12,15 +12,15 @@ repository.workspace = true workspace = true [dependencies] +sp-core = { workspace = true, default-features = false } sp-externalities = { workspace = true } sp-runtime-interface = { workspace = true } sp-trie = { workspace = true } [dev-dependencies] -sp-core = { workspace = true, default-features = true } sp-io = { workspace = true, default-features = true } sp-state-machine = { workspace = true, default-features = true } [features] default = ["std"] -std = ["sp-externalities/std", "sp-runtime-interface/std", "sp-trie/std"] +std = ["sp-core/std", "sp-externalities/std", "sp-runtime-interface/std", "sp-trie/std"] diff --git a/cumulus/primitives/proof-size-hostfunction/src/lib.rs b/cumulus/primitives/proof-size-hostfunction/src/lib.rs index 0638e5fe53899..95e3892422efa 100644 --- a/cumulus/primitives/proof-size-hostfunction/src/lib.rs +++ b/cumulus/primitives/proof-size-hostfunction/src/lib.rs @@ -21,11 +21,13 @@ #[cfg(feature = "std")] use sp_externalities::ExternalitiesExt; -use sp_runtime_interface::runtime_interface; +use sp_runtime_interface::{pass_by::PassAs, runtime_interface}; #[cfg(feature = "std")] use sp_trie::proof_size_extension::ProofSizeExt; +use sp_core::storage::StateVersion; + pub const PROOF_RECORDING_DISABLED: u64 = u64::MAX; /// Interface that provides access to the current storage proof size. @@ -34,6 +36,10 @@ pub const PROOF_RECORDING_DISABLED: u64 = u64::MAX; /// to return u64::MAX. #[runtime_interface] pub trait StorageProofSize { + fn trigger_storage_root_size_estimation(&mut self, state_version: PassAs) { + self.trigger_storage_root_size_estimation(state_version); + } + /// Returns the current storage proof size. fn storage_proof_size(&mut self) -> u64 { self.extension::() diff --git a/cumulus/primitives/storage-weight-reclaim/src/lib.rs b/cumulus/primitives/storage-weight-reclaim/src/lib.rs index 0e4afc439de64..6ee87160df96b 100644 --- a/cumulus/primitives/storage-weight-reclaim/src/lib.rs +++ b/cumulus/primitives/storage-weight-reclaim/src/lib.rs @@ -33,7 +33,7 @@ use sp_runtime::{ impl_tx_ext_default, traits::{DispatchInfoOf, Dispatchable, PostDispatchInfoOf, TransactionExtension}, transaction_validity::TransactionValidityError, - DispatchResult, + DispatchResult, StateVersion, }; #[cfg(test)] @@ -100,6 +100,10 @@ pub fn get_proof_size() -> Option { (proof_size != PROOF_RECORDING_DISABLED).then_some(proof_size) } +pub fn trigger_storage_root_size_estimation(state_version: StateVersion) { + cumulus_primitives_proof_size_hostfunction::storage_proof_size::trigger_storage_root_size_estimation(state_version) +} + // Encapsulate into a mod so that macro generated code doesn't trigger a warning about deprecated // usage. #[allow(deprecated)] diff --git a/cumulus/test/service/benches/block_production.rs b/cumulus/test/service/benches/block_production.rs index 3b0db578041f0..dec2083dfeeb3 100644 --- a/cumulus/test/service/benches/block_production.rs +++ b/cumulus/test/service/benches/block_production.rs @@ -95,27 +95,27 @@ fn benchmark_block_production(c: &mut Criterion) { }, ); - group.bench_function( - format!("(proof = false, transfers = {}) block production", max_transfer_count), - |b| { - b.iter_batched( - || extrinsics.clone(), - |extrinsics| { - let mut block_builder = BlockBuilderBuilder::new(&*client) - .on_parent_block(chain.best_hash) - .with_parent_block_number(chain.best_number) - .build() - .unwrap(); - - for extrinsic in extrinsics { - block_builder.push(extrinsic).unwrap(); - } - block_builder.build().unwrap() - }, - BatchSize::SmallInput, - ) - }, - ); + // group.bench_function( + // format!("(proof = false, transfers = {}) block production", max_transfer_count), + // |b| { + // b.iter_batched( + // || extrinsics.clone(), + // |extrinsics| { + // let mut block_builder = BlockBuilderBuilder::new(&*client) + // .on_parent_block(chain.best_hash) + // .with_parent_block_number(chain.best_number) + // .build() + // .unwrap(); + // + // for extrinsic in extrinsics { + // block_builder.push(extrinsic).unwrap(); + // } + // block_builder.build().unwrap() + // }, + // BatchSize::SmallInput, + // ) + // }, + // ); } criterion_group!(benches, benchmark_block_production); diff --git a/cumulus/test/service/src/bench_utils.rs b/cumulus/test/service/src/bench_utils.rs index d351e78a33904..7894d8ceb3f56 100644 --- a/cumulus/test/service/src/bench_utils.rs +++ b/cumulus/test/service/src/bench_utils.rs @@ -144,6 +144,7 @@ pub fn create_benchmarking_transfer_extrinsics( let mut block_builder = BlockBuilderBuilder::new(client) .on_parent_block(chain.best_hash) .with_parent_block_number(chain.best_number) + .enable_proof_recording() .build() .expect("Creates block builder"); let mut max_transfer_count = 0; @@ -158,16 +159,22 @@ pub fn create_benchmarking_transfer_extrinsics( let set_validation_data_extrinsic = extrinsic_set_validation_data(parent_header); extrinsics.push(set_validation_data_extrinsic); + let use_transfer_all = std::env::var("BLOCK_PRODUCTION_TRANSFER_ALL").is_ok(); + for (src, dst) in src_accounts.iter().zip(dst_accounts.iter()) { - let extrinsic: UncheckedExtrinsic = construct_extrinsic( - client, + let call = if use_transfer_all { + BalancesCall::transfer_all { + dest: MultiAddress::Id(AccountId::from(dst.public())), + keep_alive: false, + } + } else { BalancesCall::transfer_keep_alive { dest: MultiAddress::Id(AccountId::from(dst.public())), value: 10000, - }, - src.clone(), - Some(0), - ); + } + }; + + let extrinsic: UncheckedExtrinsic = construct_extrinsic(client, call, src.clone(), Some(0)); match block_builder.push(extrinsic.clone().into()) { Ok(_) => {}, @@ -190,9 +197,21 @@ pub fn create_benchmarking_transfer_extrinsics( /// Prepare cumulus test runtime for execution pub fn get_wasm_module() -> Box { - let blob = RuntimeBlob::uncompress_if_needed( - WASM_BINARY.expect("You need to build the WASM binaries to run the benchmark!"), - ) + let wasm_content = if let Ok(wasm_path) = std::env::var("WASM_PATH") { + std::fs::read(wasm_path).expect("Failed to read the file specified by WASM_PATH") + } else { + WASM_BINARY + .expect("You need to build the WASM binaries to run the benchmark!") + .to_vec() + }; + let blob = RuntimeBlob::uncompress_if_needed({ + // let wasm_path = std::env::var("WASM_PATH").unwrap_or_else(|_| { + // WASM_BINARY.expect("You need to build the WASM binaries to run the benchmark!") + // }); + + // WASM_BINARY.expect("You need to build the WASM binaries to run the benchmark!"), + &wasm_content + }) .unwrap(); let config = sc_executor_wasmtime::Config { diff --git a/cumulus/test/service/src/lib.rs b/cumulus/test/service/src/lib.rs index aaa2359e1ebda..24f5a4b51facb 100644 --- a/cumulus/test/service/src/lib.rs +++ b/cumulus/test/service/src/lib.rs @@ -837,10 +837,19 @@ pub fn node_config( let root = base_path.path().join(format!("cumulus_test_service_{}", key)); let role = if is_collator { Role::Authority } else { Role::Full }; let key_seed = key.to_seed(); + + let wasm_content = if let Ok(wasm_path) = std::env::var("WASM_PATH") { + std::fs::read(wasm_path).expect("Failed to read the file specified by WASM_PATH") + } else { + cumulus_test_runtime::WASM_BINARY + .expect("You need to build the WASM binaries to run the benchmark!") + .to_vec() + }; + let mut spec = Box::new(chain_spec::get_chain_spec_with_extra_endowed( Some(para_id), endowed_accounts, - cumulus_test_runtime::WASM_BINARY.expect("WASM binary was not built, please build it!"), + &wasm_content, None, )); diff --git a/polkadot/node/core/pvf/common/src/executor_interface.rs b/polkadot/node/core/pvf/common/src/executor_interface.rs index 47f9ed1604e78..1b2cbac801a95 100644 --- a/polkadot/node/core/pvf/common/src/executor_interface.rs +++ b/polkadot/node/core/pvf/common/src/executor_interface.rs @@ -330,6 +330,13 @@ impl sp_externalities::Externalities for ValidationExternalities { fn get_read_and_written_keys(&self) -> Vec<(Vec, u32, u32, bool)> { panic!("get_read_and_written_keys: unsupported feature for parachain validation") } + + fn trigger_storage_root_size_estimation( + &mut self, + state_version: sp_core::storage::StateVersion, + ) { + panic!("trigger_storage_root_size_estimation: unsupported feature for parachain validation") + } } impl sp_externalities::ExtensionStore for ValidationExternalities { diff --git a/polkadot/node/network/dispute-distribution/Cargo.toml b/polkadot/node/network/dispute-distribution/Cargo.toml index a85f81082b563..5b5295f57589f 100644 --- a/polkadot/node/network/dispute-distribution/Cargo.toml +++ b/polkadot/node/network/dispute-distribution/Cargo.toml @@ -17,7 +17,7 @@ fatality = { workspace = true } futures = { workspace = true } futures-timer = { workspace = true } gum = { workspace = true, default-features = true } -indexmap = { workspace = true } +indexmap = { workspace = true, default-features = true } polkadot-node-network-protocol = { workspace = true, default-features = true } polkadot-node-primitives = { workspace = true, default-features = true } polkadot-node-subsystem = { workspace = true, default-features = true } diff --git a/substrate/client/block-builder/Cargo.toml b/substrate/client/block-builder/Cargo.toml index 85bc395179e59..9a6041c98b510 100644 --- a/substrate/client/block-builder/Cargo.toml +++ b/substrate/client/block-builder/Cargo.toml @@ -24,6 +24,7 @@ sp-core = { workspace = true, default-features = true } sp-inherents = { workspace = true, default-features = true } sp-runtime = { workspace = true, default-features = true } sp-trie = { workspace = true, default-features = true } +tracing = { workspace = true } [dev-dependencies] sp-state-machine = { workspace = true, default-features = true } diff --git a/substrate/client/block-builder/src/lib.rs b/substrate/client/block-builder/src/lib.rs index 00b82382f5428..e7d1432e5ccb8 100644 --- a/substrate/client/block-builder/src/lib.rs +++ b/substrate/client/block-builder/src/lib.rs @@ -289,7 +289,10 @@ where let extrinsics = &mut self.extrinsics; let version = self.version; - self.api.execute_in_transaction(|api| { + let start = std::time::Instant::now(); + let proof_size = self.api.proof_recorder().map(|pr| pr.estimate_encoded_size()); + tracing::debug!(target: "durations", "block_builder::push: before: proof_size:{:?}", proof_size); + let result = self.api.execute_in_transaction(|api| { let res = if version < 6 { #[allow(deprecated)] api.apply_extrinsic_before_version_6(parent_hash, xt.clone()) @@ -308,7 +311,10 @@ where )), Err(e) => TransactionOutcome::Rollback(Err(Error::from(e))), } - }) + }); + let proof_size = self.api.proof_recorder().map(|pr| pr.estimate_encoded_size()); + tracing::debug!(target: "durations", "block_builder::push: duration: {:?} result: {:?} proof_size:{:?}", start.elapsed(), result, proof_size); + result } /// Consume the builder to build a valid `Block` containing all pushed extrinsics. @@ -317,7 +323,9 @@ where /// supplied by `self.api`, combined as [`BuiltBlock`]. /// The storage proof will be `Some(_)` when proof recording was enabled. pub fn build(mut self) -> Result, Error> { + let start = std::time::Instant::now(); let header = self.api.finalize_block(self.parent_hash)?; + let finalized_duration = start.elapsed(); debug_assert_eq!( header.extrinsics_root().clone(), @@ -327,6 +335,8 @@ where ), ); + let proof_size = self.api.proof_recorder().map(|pr| pr.estimate_encoded_size()); + let proof = self.api.extract_proof(); let state = self.call_api_at.state_at(self.parent_hash)?; @@ -336,6 +346,8 @@ where .into_storage_changes(&state, self.parent_hash) .map_err(sp_blockchain::Error::StorageChanges)?; + tracing::debug!(target: "durations", "block_builder::build: duration: {:?}, finalized_duration:{finalized_duration:?}, proof_size:{proof_size:?}", start.elapsed()); + Ok(BuiltBlock { block: ::new(header, self.extrinsics), storage_changes, diff --git a/substrate/client/db/src/bench.rs b/substrate/client/db/src/bench.rs index 61b93a9a2314d..59cf215fc49d7 100644 --- a/substrate/client/db/src/bench.rs +++ b/substrate/client/db/src/bench.rs @@ -29,8 +29,9 @@ use sp_core::{ }; use sp_runtime::{traits::Hash, StateVersion, Storage}; use sp_state_machine::{ - backend::Backend as StateBackend, BackendTransaction, ChildStorageCollection, DBValue, - IterArgs, StorageCollection, StorageIterator, StorageKey, StorageValue, + backend::{Backend as StateBackend, BackendSnapshot}, + BackendTransaction, ChildStorageCollection, DBValue, IterArgs, StorageCollection, + StorageIterator, StorageKey, StorageValue, }; use sp_trie::{ cache::{CacheSize, SharedTrieCache}, @@ -172,7 +173,7 @@ impl BenchmarkingState { child_delta, state_version, ); - state.genesis = transaction.clone().drain(); + state.genesis = transaction.clone().drain().into_iter().collect(); state.genesis_root = root; state.commit(root, transaction, Vec::new(), Vec::new())?; state.record.take(); @@ -464,6 +465,27 @@ impl StateBackend for BenchmarkingState { .map_or(Default::default(), |s| s.child_storage_root(child_info, delta, state_version)) } + fn trigger_storage_root_size_estimation<'a, 'b>( + &self, + delta: impl Iterator)>, + state_version: StateVersion, + ) { + self.state.borrow().as_ref().map_or(Default::default(), |s| { + s.trigger_storage_root_size_estimation(delta, state_version) + }) + } + + fn trigger_child_storage_root_size_estimation<'a, 'b>( + &self, + child_info: &ChildInfo, + delta: impl Iterator)>, + state_version: StateVersion, + ) { + self.state.borrow().as_ref().map_or(Default::default(), |s| { + s.trigger_child_storage_root_size_estimation(child_info, delta, state_version) + }) + } + fn raw_iter(&self, args: IterArgs) -> Result { let child_trie = args.child_info.as_ref().map(|child_info| child_info.storage_key().to_vec()); diff --git a/substrate/client/db/src/lib.rs b/substrate/client/db/src/lib.rs index 5e8fa18fe86df..d63a59cfb49b3 100644 --- a/substrate/client/db/src/lib.rs +++ b/substrate/client/db/src/lib.rs @@ -87,7 +87,7 @@ use sp_runtime::{ Justification, Justifications, StateVersion, Storage, }; use sp_state_machine::{ - backend::{AsTrieBackend, Backend as StateBackend}, + backend::{AsTrieBackend, Backend as StateBackend, BackendSnapshot}, BackendTransaction, ChildStorageCollection, DBValue, IndexOperation, IterArgs, OffchainChangesCollection, StateMachineStats, StorageCollection, StorageIterator, StorageKey, StorageValue, UsageInfo as StateUsageInfo, @@ -275,6 +275,24 @@ impl StateBackend> for RefTrackingState { self.state.child_storage_root(child_info, delta, state_version) } + fn trigger_storage_root_size_estimation<'a, 'b>( + &self, + delta: impl Iterator)>, + state_version: StateVersion, + ) { + self.state.trigger_storage_root_size_estimation(delta, state_version) + } + + fn trigger_child_storage_root_size_estimation<'a, 'b>( + &self, + child_info: &ChildInfo, + delta: impl Iterator)>, + state_version: StateVersion, + ) { + self.state + .trigger_child_storage_root_size_estimation(child_info, delta, state_version) + } + fn raw_iter(&self, args: IterArgs) -> Result { self.state.raw_iter(args).map(|inner| RawIter { inner }) } diff --git a/substrate/client/db/src/record_stats_state.rs b/substrate/client/db/src/record_stats_state.rs index d9a35c075d794..7beb7e7d23bf8 100644 --- a/substrate/client/db/src/record_stats_state.rs +++ b/substrate/client/db/src/record_stats_state.rs @@ -25,7 +25,7 @@ use sp_runtime::{ StateVersion, }; use sp_state_machine::{ - backend::{AsTrieBackend, Backend as StateBackend}, + backend::{AsTrieBackend, Backend as StateBackend, BackendSnapshot}, BackendTransaction, IterArgs, StorageIterator, StorageKey, StorageValue, TrieBackend, }; use sp_trie::MerkleValue; @@ -201,6 +201,24 @@ impl>, B: BlockT> StateBackend> self.state.child_storage_root(child_info, delta, state_version) } + fn trigger_storage_root_size_estimation<'a, 'b>( + &self, + delta: impl Iterator)>, + state_version: StateVersion, + ) { + self.state.trigger_storage_root_size_estimation(delta, state_version) + } + + fn trigger_child_storage_root_size_estimation<'a, 'b>( + &self, + child_info: &ChildInfo, + delta: impl Iterator)>, + state_version: StateVersion, + ) { + self.state + .trigger_child_storage_root_size_estimation(child_info, delta, state_version) + } + fn raw_iter(&self, args: IterArgs) -> Result { self.state.raw_iter(args).map(|inner| RawIter { inner }) } diff --git a/substrate/client/executor/wasmtime/Cargo.toml b/substrate/client/executor/wasmtime/Cargo.toml index 250bf4a516f52..88c65d9061a3a 100644 --- a/substrate/client/executor/wasmtime/Cargo.toml +++ b/substrate/client/executor/wasmtime/Cargo.toml @@ -35,6 +35,7 @@ wasmtime = { features = [ "gc-null", "parallel-compilation", "pooling-allocator", + "profiling", "threads", ], workspace = true } diff --git a/substrate/client/executor/wasmtime/src/lib.rs b/substrate/client/executor/wasmtime/src/lib.rs index 8e8e92017df91..54e978996c0ca 100644 --- a/substrate/client/executor/wasmtime/src/lib.rs +++ b/substrate/client/executor/wasmtime/src/lib.rs @@ -25,6 +25,7 @@ //! |-------------|-------------------------| //! | undefined | No profiling | //! | `"jitdump"` | jitdump profiling | +//! | `"perfmap"` | perfmap profiling | //! | other value | No profiling (warning) | mod host; diff --git a/substrate/client/executor/wasmtime/src/runtime.rs b/substrate/client/executor/wasmtime/src/runtime.rs index fd2b2f9ead5d2..2e47f1469310a 100644 --- a/substrate/client/executor/wasmtime/src/runtime.rs +++ b/substrate/client/executor/wasmtime/src/runtime.rs @@ -222,6 +222,7 @@ fn common_config(semantics: &Semantics) -> std::result::Result wasmtime::ProfilingStrategy::JitDump, + Some(os_string) if os_string == "perfmap" => wasmtime::ProfilingStrategy::PerfMap, None => wasmtime::ProfilingStrategy::None, Some(_) => { // Remember if we have already logged a warning due to an unknown profiling strategy. diff --git a/substrate/client/transaction-pool/Cargo.toml b/substrate/client/transaction-pool/Cargo.toml index 19ee3b93b0839..d3f32ddf311a1 100644 --- a/substrate/client/transaction-pool/Cargo.toml +++ b/substrate/client/transaction-pool/Cargo.toml @@ -24,7 +24,7 @@ async-trait = { workspace = true } codec = { workspace = true, default-features = true } futures = { workspace = true } futures-timer = { workspace = true } -indexmap = { workspace = true } +indexmap = { workspace = true, default-features = true } itertools = { workspace = true } linked-hash-map = { workspace = true } parking_lot = { workspace = true, default-features = true } diff --git a/substrate/client/transaction-pool/api/Cargo.toml b/substrate/client/transaction-pool/api/Cargo.toml index d3ea499beec85..c7bf55d22dc55 100644 --- a/substrate/client/transaction-pool/api/Cargo.toml +++ b/substrate/client/transaction-pool/api/Cargo.toml @@ -15,7 +15,7 @@ workspace = true async-trait = { workspace = true } codec = { workspace = true, default-features = true } futures = { workspace = true } -indexmap = { workspace = true } +indexmap = { workspace = true, default-features = true } log = { workspace = true, default-features = true } serde = { features = ["derive"], workspace = true, default-features = true } sp-blockchain = { workspace = true, default-features = true } diff --git a/substrate/primitives/externalities/src/lib.rs b/substrate/primitives/externalities/src/lib.rs index bcc46ee4f1b29..d32d2f8849f21 100644 --- a/substrate/primitives/externalities/src/lib.rs +++ b/substrate/primitives/externalities/src/lib.rs @@ -197,6 +197,8 @@ pub trait Externalities: ExtensionStore { /// The returned hash is defined by the `Block` and is SCALE encoded. fn storage_root(&mut self, state_version: StateVersion) -> Vec; + fn trigger_storage_root_size_estimation(&mut self, state_version: StateVersion); + /// Get the trie root of a child storage map. /// /// This will also update the value of the child storage keys in the top-level storage map. diff --git a/substrate/primitives/state-machine/Cargo.toml b/substrate/primitives/state-machine/Cargo.toml index 5bc06b8cb509a..6c60deb5ec87f 100644 --- a/substrate/primitives/state-machine/Cargo.toml +++ b/substrate/primitives/state-machine/Cargo.toml @@ -20,7 +20,9 @@ targets = ["x86_64-unknown-linux-gnu"] arbitrary = { features = ["derive"], optional = true, workspace = true } codec = { workspace = true } hash-db = { workspace = true } +indexmap = { workspace = true, default-features = false } log = { workspace = true } +nohash-hasher = { workspace = true, default-features = false } parking_lot = { optional = true, workspace = true, default-features = true } rand = { optional = true, workspace = true, default-features = true } smallvec = { workspace = true, default-features = true } @@ -31,6 +33,7 @@ sp-trie = { workspace = true } thiserror = { optional = true, workspace = true } tracing = { optional = true, workspace = true, default-features = true } trie-db = { workspace = true } +foldhash = { workspace = true, default-features = false } [dev-dependencies] arbitrary = { features = ["derive"], workspace = true } @@ -39,14 +42,18 @@ assert_matches = { workspace = true } pretty_assertions = { workspace = true } rand = { workspace = true, default-features = true } sp-runtime = { workspace = true, default-features = true } +sp-tracing = { workspace = true } [features] default = ["std"] fuzzing = ["arbitrary"] std = [ "codec/std", + "foldhash/std", "hash-db/std", + "indexmap/std", "log/std", + "nohash-hasher/std", "parking_lot", "rand", "sp-core/std", diff --git a/substrate/primitives/state-machine/src/backend.rs b/substrate/primitives/state-machine/src/backend.rs index b0934a1b07cdb..f19e64f76a043 100644 --- a/substrate/primitives/state-machine/src/backend.rs +++ b/substrate/primitives/state-machine/src/backend.rs @@ -175,6 +175,9 @@ where /// state for a new block. pub type BackendTransaction = PrefixedMemoryDB; +pub type BackendSnapshot<'a, H> = + (Vec>>, Option<::Out>); + /// A state backend is used to read state data and can have changes committed /// to it. /// @@ -266,6 +269,25 @@ pub trait Backend: core::fmt::Debug { where H::Out: Ord; + /// Updates the recorder's proof size by recording trie nodes for a given delta. + /// + /// Does not include child storage updates. + fn trigger_storage_root_size_estimation<'a, 'b>( + &self, + delta: impl Iterator)>, + state_version: StateVersion, + ) where + H::Out: Ord; + + /// Updates the recorder's proof size by recording child trie nodes for a given delta. + fn trigger_child_storage_root_size_estimation<'a, 'b>( + &self, + child_info: &ChildInfo, + delta: impl Iterator)>, + state_version: StateVersion, + ) where + H::Out: Ord; + /// Returns a lifetimeless raw storage iterator. fn raw_iter(&self, args: IterArgs) -> Result; @@ -326,6 +348,35 @@ pub trait Backend: core::fmt::Debug { (root, txs) } + /// Updates the recorder's proof size by recording trie nodes for a given delta and children + /// trie nodes for given child_deltas. + fn trigger_storage_root_size_estimation_full<'a, 'b>( + &self, + delta: impl Iterator)>, + child_deltas: impl Iterator< + Item = (&'a ChildInfo, impl Iterator)>), + >, + state_version: StateVersion, + ) where + H::Out: Ord + Encode, + { + let mut child_roots: Vec<_> = Default::default(); + // child first + for (child_info, child_delta) in child_deltas { + self.trigger_child_storage_root_size_estimation(child_info, child_delta, state_version); + let prefixed_storage_key = child_info.prefixed_storage_key(); + // At "estimation phase" we don't know if child trie is empty or not. Let's assume worst + // case - remocal of the child storage root value from the main trie: + child_roots.push((prefixed_storage_key.into_inner(), None::<&[u8]>)); + } + self.trigger_storage_root_size_estimation( + delta + .map(|(k, v)| (k, v.as_ref().map(|v| &v[..]))) + .chain(child_roots.iter().map(|(k, _)| (&k[..], None::<&[u8]>))), + state_version, + ); + } + /// Register stats from overlay of state machine. /// /// By default nothing is registered. diff --git a/substrate/primitives/state-machine/src/basic.rs b/substrate/primitives/state-machine/src/basic.rs index 7edf9b6f96823..b6377403f200f 100644 --- a/substrate/primitives/state-machine/src/basic.rs +++ b/substrate/primitives/state-machine/src/basic.rs @@ -310,6 +310,10 @@ impl Externalities for BasicExternalities { .encode() } + fn trigger_storage_root_size_estimation(&mut self, _: StateVersion) { + todo!() + } + fn storage_start_transaction(&mut self) { self.overlay.start_transaction() } diff --git a/substrate/primitives/state-machine/src/ext.rs b/substrate/primitives/state-machine/src/ext.rs index afd0eeb1a55cd..ed1dc6fc03a9d 100644 --- a/substrate/primitives/state-machine/src/ext.rs +++ b/substrate/primitives/state-machine/src/ext.rs @@ -523,6 +523,18 @@ where root.encode() } + fn trigger_storage_root_size_estimation(&mut self, state_version: StateVersion) { + let _guard = guard(); + + self.overlay.trigger_storage_root_size_estimation(self.backend, state_version); + + trace!( + target: "state", + method = "TriggerStorageRootSizeEstimation", + ext_id = %HexDisplay::from(&self.id.to_le_bytes()), + ); + } + fn child_storage_root( &mut self, child_info: &ChildInfo, @@ -845,13 +857,15 @@ where #[cfg(test)] mod tests { use super::*; - use crate::InMemoryBackend; + use crate::{InMemoryBackend, TrieBackendBuilder}; use codec::{Decode, Encode}; use sp_core::{ map, storage::{Storage, StorageChild}, Blake2Hasher, }; + use sp_tracing::info; + use sp_trie::recorder::Recorder; type TestBackend = InMemoryBackend; type TestExt<'a> = Ext<'a, Blake2Hasher, TestBackend>; @@ -1078,4 +1092,236 @@ mod tests { assert_eq!(Vec::::decode(&mut &data[..]).unwrap(), vec![1, 2]); } + + #[test] + //note: copied from: https://github.com/paritytech/polkadot-sdk/pull/6230/files#diff-aee4478254ac14c2c059e9e1a0eb5b2d3694872bfdce872416319959223de977R1115 + fn calculating_storage_root_should_not_change_storage_proof() { + sp_tracing::try_init_simple(); + let keys = + (0..100000u32) + .map(|i| (i.encode(), vec![i; 100].encode())) + .chain((0..1000u32).map(|i| { + let mut key = 1u32.encode(); + key.extend(i.encode()); + (key, vec![i; 100].encode()) + })); + + // info!("keys: {:#?}", keys.clone().map(|(k,v)| (hex::encode(k), + // hex::encode(v))).collect::>()); + + let child_info = ChildInfo::new_default(b"Child1"); + let child_info = &child_info; + + let backend = ( + Storage { + top: keys.clone().collect(), + children_default: map![ + child_info.storage_key().to_vec() => StorageChild { + data: keys.collect(), + child_info: child_info.to_owned(), + } + ], + // children_default: Default::default(), + }, + StateVersion::default(), + ) + .into(); + + let recorder = Recorder::::default(); + + let backend = TrieBackendBuilder::wrap(&backend).with_recorder(recorder.clone()).build(); + + let mut overlay = Default::default(); + let mut ext = Ext::new(&mut overlay, &backend, None); + + ext.place_storage(5000u32.encode(), Some(vec![30])); + ext.place_storage(100000u32.encode(), Some(vec![40])); + + ext.place_storage(1u32.encode(), None); + ext.place_storage(6000u32.encode(), None); + + ext.place_child_storage(child_info, 5000u32.encode(), Some(vec![30])); + ext.place_child_storage(child_info, 100000u32.encode(), Some(vec![40])); + + ext.place_child_storage(child_info, 1u32.encode(), None); + ext.place_child_storage(child_info, 6000u32.encode(), None); + + ext.trigger_storage_root_size_estimation(StateVersion::V1); + let size_before = recorder.estimate_encoded_size(); + + ext.storage_root(StateVersion::V1); + let size_after = recorder.estimate_encoded_size(); + + // TODO: https://github.com/paritytech/polkadot-sdk/issues/6020 + // When the issue is fixed properly, `size_before == size_after`. + info!("size_before: {}, size_after:{}", size_before, size_after); + assert_eq!(size_before, size_after); + } + + #[test] + fn calculating_storage_root_should_not_change_storage_proof_2() { + sp_tracing::try_init_simple(); + let keys = + (0..100000u32) + .map(|i| (i.encode(), vec![i; 100].encode())) + .chain((0..1000u32).map(|i| { + let mut key = 1u32.encode(); + key.extend(i.encode()); + (key, vec![i; 100].encode()) + })); + + // info!("keys: {:#?}", keys.clone().map(|(k,v)| (hex::encode(k), + // hex::encode(v))).collect::>()); + + let child_info = ChildInfo::new_default(b"Child1"); + let child_info = &child_info; + + let backend = ( + Storage { + top: keys.clone().collect(), + children_default: map![ + child_info.storage_key().to_vec() => StorageChild { + data: keys.collect(), + child_info: child_info.to_owned(), + } + ], + // children_default: Default::default(), + }, + StateVersion::default(), + ) + .into(); + + let recorder = Recorder::::default(); + + let backend = TrieBackendBuilder::wrap(&backend).with_recorder(recorder.clone()).build(); + + let mut overlay = Default::default(); + let mut ext = Ext::new(&mut overlay, &backend, None); + + let key1 = 5000u32; + let key2 = 100000u32; + ext.storage_start_transaction(); + ext.place_storage(key1.encode(), Some(vec![30])); + ext.place_storage(key2.encode(), Some(vec![40])); + + ext.place_child_storage(child_info, key1.encode(), Some(vec![30])); + ext.place_child_storage(child_info, key2.encode(), Some(vec![40])); + let _ = ext.storage_commit_transaction(); + + ext.trigger_storage_root_size_estimation(StateVersion::V1); + let size_after_reading = recorder.estimate_encoded_size(); + + ext.storage_start_transaction(); + ext.place_storage(key1.encode(), None); + ext.place_storage(key2.encode(), None); + + ext.place_child_storage(child_info, key1.encode(), None); + ext.place_child_storage(child_info, key2.encode(), None); + let _ = ext.storage_commit_transaction(); + + ext.trigger_storage_root_size_estimation(StateVersion::V1); + + let size_before = recorder.estimate_encoded_size(); + + ext.storage_root(StateVersion::V1); + let size_after = recorder.estimate_encoded_size(); + + // TODO: https://github.com/paritytech/polkadot-sdk/issues/6020 + // When the issue is fixed properly, `size_before == size_after`. + info!( + "size_after_reading: {}, size_before: {}, size_after:{}", + size_after_reading, size_before, size_after + ); + assert_eq!(size_before, size_after); + } + + #[test] + fn calculating_storage_root_should_not_change_storage_proof_random() { + sp_tracing::try_init_simple(); + let keys_count = 1000000u32; + let keys = + (0..keys_count) + .map(|i| (i.encode(), vec![i; 100].encode())) + .chain((0..10000u32).map(|i| { + let mut key = 1u32.encode(); + key.extend(i.encode()); + (key, vec![i; 100].encode()) + })); + + // info!("keys: {:#?}", keys.clone().map(|(k,v)| (hex::encode(k), + // hex::encode(v))).collect::>()); + + let child_info = ChildInfo::new_default(b"Child1"); + let child_info = &child_info; + + let backend = ( + Storage { + top: keys.clone().collect(), + children_default: map![ + child_info.storage_key().to_vec() => StorageChild { + data: keys.collect(), + child_info: child_info.to_owned(), + } + ], + // children_default: Default::default(), + }, + StateVersion::default(), + ) + .into(); + + let max_keys_to_update = 10000; + + for _ in 0..1000 { + let recorder = Recorder::::default(); + let backend = + TrieBackendBuilder::wrap(&backend).with_recorder(recorder.clone()).build(); + + let mut overlay = Default::default(); + let mut ext = Ext::new(&mut overlay, &backend, None); + + let keys_to_update = rand::random::() % max_keys_to_update; + for _ in 0..keys_to_update { + let key = rand::random::() % keys_count; + let value = std::iter::repeat(rand::random::()) + .take(rand::random::() % 255) + .collect::>(); + ext.place_storage(key.encode(), Some(value)); + } + + let keys_to_update = rand::random::() % max_keys_to_update; + for _ in 0..keys_to_update { + let key = rand::random::() % keys_count; + ext.place_storage(key.encode(), None); + } + + let keys_to_update = rand::random::() % max_keys_to_update; + for _ in 0..keys_to_update { + let key = rand::random::() % keys_count; + let value = std::iter::repeat(rand::random::()) + .take(rand::random::() % 255) + .collect::>(); + ext.place_child_storage(child_info, key.encode(), Some(value)); + } + + let keys_to_update = rand::random::() % max_keys_to_update; + for _ in 0..keys_to_update { + let key = rand::random::() % keys_count; + ext.place_child_storage(child_info, key.encode(), None); + } + + ext.trigger_storage_root_size_estimation(StateVersion::V1); + let size_before = recorder.estimate_encoded_size(); + + ext.storage_root(StateVersion::V1); + let size_after = recorder.estimate_encoded_size(); + + // TODO: https://github.com/paritytech/polkadot-sdk/issues/6020 + // When the issue is fixed properly, `size_before == size_after`. + info!( + "keys updated: {}, size_before: {}, size_after:{}", + keys_to_update, size_before, size_after + ); + assert_eq!(size_before, size_after); + } + } } diff --git a/substrate/primitives/state-machine/src/overlayed_changes/changeset.rs b/substrate/primitives/state-machine/src/overlayed_changes/changeset.rs index 2febb76b3700e..f57887a1a3637 100644 --- a/substrate/primitives/state-machine/src/overlayed_changes/changeset.rs +++ b/substrate/primitives/state-machine/src/overlayed_changes/changeset.rs @@ -25,7 +25,7 @@ use codec::{Compact, CompactLen}; #[cfg(feature = "std")] use std::collections::HashSet as Set; -use crate::{ext::StorageAppend, warn}; +use crate::{ext::StorageAppend, overlayed_changes::xxx, warn}; use alloc::{ collections::{btree_map::BTreeMap, btree_set::BTreeSet}, vec::Vec, @@ -134,6 +134,14 @@ impl StorageEntry { } } + /// todo.... -> think abou this? + fn as_option_xxx(&self) -> Option<&StorageValue> { + match self { + StorageEntry::Append { data, .. } | StorageEntry::Set(data) => Some(data), + StorageEntry::Remove => None, + } + } + /// Return as an [`Option`]. fn as_option(&mut self) -> Option<&StorageValue> { self.materialize_in_place(); @@ -197,6 +205,10 @@ pub struct OverlayedMap { num_client_transactions: usize, /// Determines whether the node is using the overlay from the client or the runtime. execution_mode: ExecutionMode, + + /// Stores which keys are dirty since recent storage_root snapshot. Needed in order to + /// determine which values shall be used for merkelization when new storage_root is called. + storage_root_dirty_keys: xxx::Changeset, } impl Default for OverlayedMap { @@ -206,6 +218,7 @@ impl Default for OverlayedMap { dirty_keys: SmallVec::new(), num_client_transactions: Default::default(), execution_mode: Default::default(), + storage_root_dirty_keys: Default::default(), } } } @@ -231,6 +244,7 @@ impl From for OverlayedMap { } } -/// Inserts a key into the dirty set. -/// -/// Returns true iff we are currently have at least one open transaction and if this -/// is the first write to the given key that transaction. -fn insert_dirty(set: &mut DirtyKeysSets, key: K) -> bool { - set.last_mut().map(|dk| dk.insert(key)).unwrap_or_default() +impl OverlayedMap { + /// Inserts a key into the dirty set. + /// + /// Returns true if we are currently have at least one open transaction and if this + /// is the first write to the given key that transaction. + fn insert_dirty(&mut self, key: K, deleted: bool) -> bool { + self.storage_root_dirty_keys + .add_key(key.clone(), if deleted { xxx::KeyOp::Deleted } else { xxx::KeyOp::Updated }); + self.dirty_keys.last_mut().map(|dk| dk.insert(key)).unwrap_or_default() + } } -impl OverlayedMap { +impl OverlayedMap { /// Create a new changeset at the same transaction state but without any contents. /// /// This changeset might be created when there are already open transactions. @@ -533,6 +551,7 @@ impl OverlayedMap { dirty_keys: repeat(Set::new()).take(self.transaction_depth()).collect(), num_client_transactions: self.num_client_transactions, execution_mode: self.execution_mode, + storage_root_dirty_keys: Default::default(), } } @@ -554,8 +573,9 @@ impl OverlayedMap { /// /// Can be rolled back or committed when called inside a transaction. pub fn set_offchain(&mut self, key: K, value: V, at_extrinsic: Option) { - let overlayed = self.changes.entry(key.clone()).or_default(); - overlayed.set_offchain(value, insert_dirty(&mut self.dirty_keys, key), at_extrinsic); + let first_write_in_tx = self.insert_dirty(key.clone(), false); + let overlayed = self.changes.entry(key).or_default(); + overlayed.set_offchain(value, first_write_in_tx, at_extrinsic); } /// Get a list of all changes as seen by current transaction. @@ -634,6 +654,7 @@ impl OverlayedMap { /// Changes made without any open transaction are committed immediately. pub fn start_transaction(&mut self) { self.dirty_keys.push(Default::default()); + self.storage_root_dirty_keys.start_transaction(); } /// Rollback the last transaction started by `start_transaction`. @@ -704,9 +725,33 @@ impl OverlayedMap { fn has_open_runtime_transactions(&self) -> bool { self.transaction_depth() > self.num_client_transactions } + + pub fn storage_root_snaphost_delta_keys2(&mut self) -> xxx::DeltaKeys { + self.storage_root_dirty_keys.create_snapshot_and_get_delta2() + } } impl OverlayedChangeSet { + pub fn changes_mut2( + &mut self, + keys: &xxx::DeltaKeys, + ) -> Vec<(&StorageKey, Option<&StorageValue>)> { + for key in keys { + if let Some(entry) = self.changes.get_mut(key.1) { + // materialize... + let _trigger = entry.value(); + } + } + + keys.iter() + .filter_map(|key| { + self.changes + .get_key_value(key.1) + .and_then(|(map_key, entry)| Some((map_key, entry.value_ref().as_option_xxx()))) + }) + .collect() + } + /// Rollback the last transaction started by `start_transaction`. /// /// Any changes made during that transaction are discarded. Returns an error if @@ -741,6 +786,7 @@ impl OverlayedChangeSet { ); if rollback { + self.storage_root_dirty_keys.rollback_transaction(); match overlayed.pop_transaction().value { StorageEntry::Append { data, @@ -765,6 +811,7 @@ impl OverlayedChangeSet { self.changes.remove(&key); } } else { + self.storage_root_dirty_keys.commit_transaction(); let has_predecessor = if let Some(dirty_keys) = self.dirty_keys.last_mut() { // Not the last tx: Did the previous tx write to this key? !dirty_keys.insert(key) @@ -862,8 +909,9 @@ impl OverlayedChangeSet { /// /// Can be rolled back or committed when called inside a transaction. pub fn set(&mut self, key: StorageKey, value: Option, at_extrinsic: Option) { - let overlayed = self.changes.entry(key.clone()).or_default(); - overlayed.set(value, insert_dirty(&mut self.dirty_keys, key), at_extrinsic); + let first_write_in_tx = self.insert_dirty(key.clone(), value.is_none()); + let overlayed = self.changes.entry(key).or_default(); + overlayed.set(value, first_write_in_tx, at_extrinsic); } /// Append bytes to an existing content. @@ -874,8 +922,8 @@ impl OverlayedChangeSet { init: impl Fn() -> StorageValue, at_extrinsic: Option, ) { - let overlayed = self.changes.entry(key.clone()).or_default(); - let first_write_in_tx = insert_dirty(&mut self.dirty_keys, key); + let first_write_in_tx = self.insert_dirty(key.clone(), false); + let overlayed = self.changes.entry(key).or_default(); overlayed.append(value, first_write_in_tx, init, at_extrinsic); } @@ -888,11 +936,19 @@ impl OverlayedChangeSet { at_extrinsic: Option, ) -> u32 { let mut count = 0; - for (key, val) in self.changes.iter_mut().filter(|(k, v)| predicate(k, v)) { - if matches!(val.value_ref(), StorageEntry::Set(..) | StorageEntry::Append { .. }) { - count += 1; - } - val.set(None, insert_dirty(&mut self.dirty_keys, key.clone()), at_extrinsic); + let keys = self + .changes + .iter() + .filter_map(|(k, v)| predicate(k, v).then(|| k.clone())) + .collect::>(); + for key in keys { + let first_write_in_tx = { self.insert_dirty(key.clone(), true) }; + self.changes.get_mut(&key).map(|val| { + if matches!(val.value_ref(), StorageEntry::Set(..) | StorageEntry::Append { .. }) { + count += 1; + } + val.set(None, first_write_in_tx, at_extrinsic); + }); } count } diff --git a/substrate/primitives/state-machine/src/overlayed_changes/mod.rs b/substrate/primitives/state-machine/src/overlayed_changes/mod.rs index efc86a2eb3294..32bded53a4f16 100644 --- a/substrate/primitives/state-machine/src/overlayed_changes/mod.rs +++ b/substrate/primitives/state-machine/src/overlayed_changes/mod.rs @@ -19,6 +19,7 @@ mod changeset; mod offchain; +mod xxx; use self::changeset::OverlayedChangeSet; use crate::{backend::Backend, stats::StateMachineStats, BackendTransaction, DefaultError}; @@ -108,6 +109,9 @@ pub struct OverlayedChanges { /// /// This transaction can be applied to the backend to persist the state changes. storage_transaction_cache: Option>, + + // todo: better name + storage_transaction_cache2_flag: Option<()>, } impl Default for OverlayedChanges { @@ -120,6 +124,7 @@ impl Default for OverlayedChanges { collect_extrinsics: Default::default(), stats: Default::default(), storage_transaction_cache: None, + storage_transaction_cache2_flag: None, } } } @@ -134,6 +139,7 @@ impl Clone for OverlayedChanges { collect_extrinsics: self.collect_extrinsics, stats: self.stats.clone(), storage_transaction_cache: self.storage_transaction_cache.clone(), + storage_transaction_cache2_flag: self.storage_transaction_cache2_flag.clone(), } } } @@ -302,6 +308,7 @@ impl OverlayedChanges { /// `storage_transaction_cache`. fn mark_dirty(&mut self) { self.storage_transaction_cache = None; + self.storage_transaction_cache2_flag = None; } /// Returns a double-Option: None if the key is unknown (i.e. and the query should be referred @@ -334,6 +341,8 @@ impl OverlayedChanges { element: StorageValue, init: impl Fn() -> StorageValue, ) { + //todo: not sure? + self.mark_dirty(); let extrinsic_index = self.extrinsic_index(); let size_write = element.len() as u64; self.stats.tally_write_overlay(size_write); @@ -579,7 +588,7 @@ impl OverlayedChanges { state_version: StateVersion, ) -> Result, DefaultError> where - H::Out: Ord + Encode + 'static, + H::Out: Ord + Encode + 'static + codec::Codec, { let (transaction, transaction_storage_root) = match self.storage_transaction_cache.take() { Some(cache) => cache.into_inner(), @@ -653,6 +662,8 @@ impl OverlayedChanges { if let Some(cache) = &self.storage_transaction_cache { return (cache.transaction_storage_root, true) } + #[cfg(feature = "std")] + let start = std::time::Instant::now(); let delta = self.top.changes_mut().map(|(k, v)| (&k[..], v.value().map(|v| &v[..]))); @@ -666,9 +677,67 @@ impl OverlayedChanges { self.storage_transaction_cache = Some(StorageTransactionCache { transaction, transaction_storage_root: root }); + #[cfg(feature = "std")] + { + crate::debug!(target: "durations", "storage_root: duration={:?}", start.elapsed()); + // let snapshot = self.top.storage_root_snaphost_delta_keys2(); + // crate::debug!(target: "durations", "storage_root: duration={:?} snaphost_len:{}", start.elapsed(),snapshot.len()); + // crate::debug!(target: "durations", "storage_root: snapshot:{:?}", snapshot.iter().map(|k| hex::encode(k.1)).collect::>()); + } + (root, false) } + // todo: doc + pub fn trigger_storage_root_size_estimation>( + &mut self, + backend: &B, + state_version: StateVersion, + ) where + H::Out: Ord + Encode + codec::Codec, + { + if self.storage_transaction_cache2_flag.is_some() { + crate::debug!(target: "overlayed_changes", "trigger_storage_root_size_estimation (cache)"); + return; + } + #[cfg(feature = "std")] + let start = std::time::Instant::now(); + + crate::debug!(target: "overlayed_changes", "trigger_storage_root_size_estimation (non-cache)"); + + let snapshot = self.top.storage_root_snaphost_delta_keys2(); + + crate::debug!(target: "overlayed_changes", "trigger_storage_root_size_estimation snapshot: {:?}", snapshot); + let snapshot_len = snapshot.len(); + + { + let delta = self + .top + .changes_mut2(&snapshot) + .into_iter() + .map(|(k, v)| (&k[..], v.map(|v| &v[..]))); + + let child_delta = self.children.values_mut().map(|v| { + let child_snapshot = v.0.storage_root_snaphost_delta_keys2(); + ( + &v.1, + v.0.changes_mut2(&child_snapshot) + .into_iter() + .map(|(k, v)| (&k[..], v.map(|v| &v[..]))), + ) + }); + + backend.trigger_storage_root_size_estimation_full(delta, child_delta, state_version); + + self.storage_transaction_cache2_flag = Some(()); + }; + + #[cfg(feature = "std")] + { + crate::debug!(target: "durations", "trigger_storage_root_size_estimation: duration={:?} snapshot_len={}", start.elapsed(), snapshot_len); + } + } + /// Generate the child storage root using `backend` and all child changes /// as seen by the current transaction. /// @@ -878,6 +947,7 @@ mod tests { use crate::{ext::Ext, new_in_mem, InMemoryBackend}; use array_bytes::bytes2hex; use sp_core::{traits::Externalities, Blake2Hasher}; + use sp_trie::MemoryDB; use std::collections::BTreeMap; fn assert_extrinsics( @@ -983,6 +1053,7 @@ mod tests { #[test] fn overlayed_storage_root_works() { + // tracing::try_init_simple(); let state_version = StateVersion::default(); let initial: BTreeMap<_, _> = vec![ (b"doe".to_vec(), b"reindeer".to_vec()), diff --git a/substrate/primitives/state-machine/src/overlayed_changes/xxx.rs b/substrate/primitives/state-machine/src/overlayed_changes/xxx.rs new file mode 100644 index 0000000000000..87a7bac26daff --- /dev/null +++ b/substrate/primitives/state-machine/src/overlayed_changes/xxx.rs @@ -0,0 +1,804 @@ +use crate::trace; +use alloc::vec::Vec; +use core::{ + hash::{BuildHasher, Hash}, + mem, +}; +use foldhash::fast::FixedState; +use indexmap::IndexMap as HashMap; +#[cfg(not(feature = "std"))] +use indexmap::IndexSet as HashSet; +use nohash_hasher::BuildNoHashHasher; +#[cfg(feature = "std")] +use std::collections::HashSet; + +const LOG_TARGET: &str = "changesetfilter"; + +/// Operation type for a key +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum KeyOp { + /// Key was updated/inserted + Updated, + /// Key was deleted + Deleted, +} + +type KeyMap = HashMap>; +type CapturedSet = HashSet>; + +/// Incremental snapshot result: map of base hash -> key for all new keys since last snapshot. +/// +/// Base hash value can be ignored. +pub type DeltaKeys = HashMap>; + +pub type DefaultHashBuilder = foldhash::fast::FixedState; + +/// A changeset that tracks keys with transaction support and incremental snapshots. +/// +/// Provides nested transactions and efficient incremental snapshots that avoid duplicating +/// previously captured keys. Keys can be tracked as `Updated` or `Deleted` operations. +/// +/// # Operation Semantics +/// +/// - **Updated**: Standard key insertion/update +/// - **Deleted**: Key deletion that prevents future `Updated` operations from appearing +/// - Updated → Deleted: Both operations appear in separate snapshots +/// - Deleted → Updated: Only `Deleted` appears, `Updated` is filtered +/// +/// # Note on performance profile +/// +/// Optimized for 1k-5k transactions with ~10 nesting levels. Each transaction typically +/// has 10-20 keys, with 50% duplication across transactions. Keys are 64-162 byte arrays +/// (concatenated cryptographic hashes). Deduplication is highly optimized. +#[derive(Debug, Clone)] +pub struct Changeset { + /// Stack of parent transaction layers (outermost first). + layers: Vec>, + /// Current (innermost) transaction layer being built. + current: TransactionLayer, + /// Hash builder for computing key hashes. + hasher: HB, +} + +#[derive(Debug, Clone)] +struct TransactionLayer { + /// base hash -> key map of all new keys that were not yet included into any delta. + dirty_keys: KeyMap, + /// Base hashes of keys that have been already reported in incremental delta. + snapshot: Option, + /// Base hashes of keys that have been deleted. + /// Used to prevent `Updated` operations on deleted keys from appearing in future snapshots. + deleted_keys: CapturedSet, +} + +impl Default for TransactionLayer { + fn default() -> Self { + Self { + dirty_keys: KeyMap::with_capacity_and_hasher(16, BuildNoHashHasher::::default()), + snapshot: None, + deleted_keys: CapturedSet::default(), + } + } +} + +impl Default for Changeset { + fn default() -> Self { + Self { layers: Vec::new(), current: TransactionLayer::default(), hasher: H::default() } + } +} + +impl Changeset { + /// Creates a new, empty instance of Changeset + pub fn new() -> Self { + Self::default() + } +} + +impl Changeset { + /// Adds a `key` to the current changeset with an operation `op` type. + /// + /// A key added as `Deleted` prevents future `Updated` operations on the same key + /// from appearing in snapshots. If a key is captured as `Updated` in one snapshot, + /// it can still appear as `Deleted` in a subsequent snapshot. + pub fn add_key(&mut self, key: K, op: KeyOp) + where + K: Hash, + H: BuildHasher, + { + trace!(target:LOG_TARGET, "add_key: {:?}/{:?}", key, op); + let hash = self.hasher.hash_one(&key); + // Insert into current dirty keys (HashMap dedup happens automatically) + self.current.dirty_keys.insert(hash, (key, op)); + } + + /// Starts a new transaction layer for atomic operations. + pub fn start_transaction(&mut self) { + trace!(target:LOG_TARGET, "start_transaction {}", self.layers.len()); + // Push current layer onto stack + let old_current = mem::replace( + &mut self.current, + TransactionLayer { + dirty_keys: KeyMap::with_capacity_and_hasher( + 16, + BuildNoHashHasher::::default(), + ), + snapshot: None, + deleted_keys: CapturedSet::default(), + }, + ); + self.layers.push(old_current); + } + + /// Commits the current transaction, merging dirty keys, updated and deleted key sets + /// into parent. + pub fn commit_transaction(&mut self) { + trace!(target:LOG_TARGET, "commit_transaction empty:{}", self.layers.len()); + if let Some(mut parent) = self.layers.pop() { + if let Some(current_snapshot) = self.current.snapshot.take() { + match &mut parent.snapshot { + Some(parent_snapshot) => parent_snapshot.extend(current_snapshot), + None => parent.snapshot = Some(current_snapshot), + } + } + + parent.dirty_keys.extend(self.current.dirty_keys.drain(..)); + parent.deleted_keys.extend(&self.current.deleted_keys); + + self.current = parent; + } + } + + /// Rolls back the current transaction, discarding dirty keys, updated and deleted key sets. + pub fn rollback_transaction(&mut self) { + trace!(target:LOG_TARGET, "rollback_transaction empty:{}", self.layers.len()); + if let Some(layer) = self.layers.pop() { + self.current = layer; + } + } + + /// Returns keys not in any previous snapshot, respecting Updated/Deleted semantics. + /// + /// Dirty keys are collected from current layer and parent layers up to the first snapshot. + /// After taking a snapshot: + /// - On commit: snapshot is merged into parent, dirty keys become unavailable in parent + /// - On rollback: snapshot is discarded, dirty keys become available again in parent + pub fn create_snapshot_and_get_delta2(&mut self) -> DeltaKeys + where + K: Clone, + { + let mut delta: DeltaKeys = + HashMap::with_capacity_and_hasher(16, BuildNoHashHasher::::default()); + let mut new_deleted_keys = CapturedSet::default(); + + let mut process_key = |hash: u64, key: K, op: KeyOp| { + let is_deleted = self.current.deleted_keys.contains(&hash) || + self.layers.iter().any(|layer| layer.deleted_keys.contains(&hash)); + + if is_deleted { + return + } + + if op == KeyOp::Deleted { + new_deleted_keys.insert(hash); + delta.insert(hash, key); + } else { + let is_captured = self + .layers + .iter() + .any(|layer| layer.snapshot.as_ref().is_some_and(|s| s.contains(&hash))) || + self.current.snapshot.as_ref().is_some_and(|s| s.contains(&hash)); + + if !is_captured { + delta.insert(hash, key); + } + } + }; + + for (hash, (key, op)) in self.current.dirty_keys.drain(..) { + process_key(hash, key, op); + } + + for layer in self.layers.iter().rev() { + for (&hash, (key, op)) in &layer.dirty_keys { + process_key(hash, key.clone(), *op); + } + + // Stop after processing the first layer with a snapshot + if layer.snapshot.is_some() { + break; + } + } + + self.current.deleted_keys.extend(&new_deleted_keys); + + trace!(target:LOG_TARGET, "get_delta: {:?}", delta.values().collect::>()); + + // Merge delta into current layer's snapshot + if !delta.is_empty() { + match &mut self.current.snapshot { + Some(snapshot) => { + snapshot.extend(delta.keys().copied()); + }, + None => { + self.current.snapshot = Some(delta.keys().copied().collect()); + }, + } + } + + delta + } +} + +#[cfg(test)] +mod tests { + use super::{KeyOp, LOG_TARGET}; + use tracing::debug; + + macro_rules! delta_assert_eq { + ($delta:expr, [$($val:expr),* $(,)?]) => { + { + let expected: ::std::collections::HashSet = + [$($val),*].iter().cloned().map(String::from).collect(); + let actual: ::std::collections::HashSet = + $delta.values().cloned().collect(); + assert_eq!(actual, expected); + } + }; + } + + type Changeset = super::Changeset; + + #[test] + fn test_empty_snapshot() { + let mut changeset = Changeset::new(); + let delta = changeset.create_snapshot_and_get_delta2(); + assert!(delta.is_empty()); + let delta = changeset.create_snapshot_and_get_delta2(); + assert!(delta.is_empty()); + let delta = changeset.create_snapshot_and_get_delta2(); + assert!(delta.is_empty()); + let delta = changeset.create_snapshot_and_get_delta2(); + assert!(delta.is_empty()); + let delta = changeset.create_snapshot_and_get_delta2(); + assert!(delta.is_empty()); + } + + #[test] + fn test_simple_snapshot() { + let mut changeset = Changeset::new(); + changeset.add_key("a".to_string(), KeyOp::Updated); + changeset.add_key("b".to_string(), KeyOp::Updated); + let delta = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta, ["a", "b"]); + changeset.add_key("c".to_string(), KeyOp::Updated); + let delta2 = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta2, ["c"]); + } + + #[test] + fn test_nested_tx_and_rollback() { + let mut changeset = Changeset::new(); + changeset.add_key("a".to_string(), KeyOp::Updated); + changeset.add_key("b".to_string(), KeyOp::Updated); + let d1 = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(d1, ["a", "b"]); + changeset.add_key("c".to_string(), KeyOp::Updated); + changeset.start_transaction(); + changeset.add_key("e".to_string(), KeyOp::Updated); + changeset.start_transaction(); + changeset.add_key("f".to_string(), KeyOp::Updated); + let delta = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta, ["c", "e", "f"]); + changeset.rollback_transaction(); + let delta2 = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta2, ["c", "e"]); + } + + #[test] + fn test_nested_tx_and_commit() { + let mut changeset = Changeset::new(); + changeset.add_key("a".to_string(), KeyOp::Updated); + changeset.add_key("b".to_string(), KeyOp::Updated); + changeset.add_key("c".to_string(), KeyOp::Updated); + changeset.start_transaction(); + changeset.add_key("d".to_string(), KeyOp::Updated); + changeset.add_key("e".to_string(), KeyOp::Updated); + changeset.start_transaction(); + changeset.add_key("f".to_string(), KeyOp::Updated); + let delta = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta, ["a", "b", "c", "d", "e", "f"]); + changeset.start_transaction(); + changeset.add_key("g".to_string(), KeyOp::Updated); + changeset.commit_transaction(); + changeset.add_key("h".to_string(), KeyOp::Updated); + changeset.commit_transaction(); + changeset.add_key("i".to_string(), KeyOp::Updated); + changeset.commit_transaction(); + let delta = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta, ["g", "h", "i",]); + } + + #[test] + fn test_commit_merges_dirty_keys() { + let mut changeset = Changeset::new(); + changeset.add_key("x".to_string(), KeyOp::Updated); + changeset.start_transaction(); + changeset.add_key("y".to_string(), KeyOp::Updated); + changeset.commit_transaction(); + let delta = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta, ["x", "y"]); + } + + #[test] + fn test_commit_merges_dirty_keys2() { + let mut changeset = Changeset::new(); + changeset.add_key("x".to_string(), KeyOp::Updated); + let delta = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta, ["x"]); + changeset.start_transaction(); + changeset.add_key("y".to_string(), KeyOp::Updated); + changeset.commit_transaction(); + let delta = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta, ["y"]); + } + + #[test] + fn test_open_commit_and_rollback_combined() { + let mut changeset = Changeset::new(); + changeset.add_key("a".to_string(), KeyOp::Updated); + changeset.start_transaction(); + changeset.add_key("b".to_string(), KeyOp::Updated); + changeset.start_transaction(); + changeset.add_key("c".to_string(), KeyOp::Updated); + changeset.rollback_transaction(); + changeset.add_key("d".to_string(), KeyOp::Updated); + changeset.commit_transaction(); + let delta = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta, ["a", "b", "d"]); + } + + #[test] + fn test_open_commit_and_rollback_combined_nested00() { + let mut changeset = Changeset::new(); + changeset.add_key("a".to_string(), KeyOp::Updated); + changeset.start_transaction(); + { + changeset.add_key("b".to_string(), KeyOp::Updated); + changeset.start_transaction(); + { + changeset.start_transaction(); + { + changeset.add_key("c".to_string(), KeyOp::Updated); + let delta = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta, ["a", "b", "c"]); + } + changeset.rollback_transaction(); + changeset.add_key("d".to_string(), KeyOp::Updated); + let delta = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta, ["a", "b", "d"]); + changeset.add_key("d0".to_string(), KeyOp::Updated); + } + changeset.rollback_transaction(); + changeset.add_key("e".to_string(), KeyOp::Updated); + } + changeset.commit_transaction(); + let delta = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta, ["a", "b", "e"]); + } + + #[test] + fn test_open_commit_and_rollback_combined_nested01() { + let mut changeset = Changeset::new(); + changeset.add_key("a".to_string(), KeyOp::Updated); + changeset.start_transaction(); + { + changeset.add_key("b".to_string(), KeyOp::Updated); + changeset.start_transaction(); + { + changeset.start_transaction(); + { + changeset.add_key("c".to_string(), KeyOp::Updated); + let delta = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta, ["a", "b", "c"]); + } + changeset.commit_transaction(); + changeset.add_key("d".to_string(), KeyOp::Updated); + let delta = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta, ["d"]); + changeset.add_key("d0".to_string(), KeyOp::Updated); + } + changeset.rollback_transaction(); + changeset.add_key("e".to_string(), KeyOp::Updated); + } + changeset.commit_transaction(); + let delta = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta, ["a", "b", "e"]); + } + + #[test] + fn test_open_commit_and_rollback_combined_nested02() { + let mut changeset = Changeset::new(); + changeset.add_key("a".to_string(), KeyOp::Updated); + changeset.start_transaction(); + { + changeset.add_key("b".to_string(), KeyOp::Updated); + changeset.start_transaction(); + { + changeset.start_transaction(); + { + changeset.add_key("c".to_string(), KeyOp::Updated); + let delta = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta, ["a", "b", "c"]); + } + changeset.commit_transaction(); + changeset.add_key("d".to_string(), KeyOp::Updated); + let delta = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta, ["d"]); + changeset.add_key("d0".to_string(), KeyOp::Updated); + } + changeset.rollback_transaction(); + changeset.add_key("e".to_string(), KeyOp::Updated); + } + changeset.commit_transaction(); + let delta = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta, ["a", "b", "e"]); + } + + #[test] + fn test_simple_snapshot_uniq() { + // Initialize tracing with RUST_LOG support + // tracing_subscriber::fmt() + // .with_env_filter(tracing_subscriber::EnvFilter::from_default_env()) + // .try_init() + // .ok(); // Ignore error if already initialized + let mut changeset = Changeset::new(); + changeset.add_key("a".to_string(), KeyOp::Updated); + changeset.add_key("b".to_string(), KeyOp::Updated); + let delta = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta, ["a", "b"]); + changeset.add_key("a".to_string(), KeyOp::Updated); + changeset.add_key("b".to_string(), KeyOp::Updated); + changeset.add_key("c".to_string(), KeyOp::Updated); + let delta2 = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta2, ["c"]); + } + + #[test] + fn test_simple_snapshot_uniq2() { + let mut changeset = Changeset::new(); + changeset.start_transaction(); + changeset.add_key("a".to_string(), KeyOp::Updated); + changeset.add_key("b".to_string(), KeyOp::Updated); + let delta = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta, ["a", "b"]); + changeset.commit_transaction(); + changeset.start_transaction(); + changeset.add_key("a".to_string(), KeyOp::Updated); + changeset.add_key("b".to_string(), KeyOp::Updated); + changeset.add_key("c".to_string(), KeyOp::Updated); + changeset.commit_transaction(); + let delta2 = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta2, ["c"]); + } + + #[test] + fn test_simple_snapshot_uniq3() { + let mut changeset = Changeset::new(); + changeset.start_transaction(); + changeset.add_key("a".to_string(), KeyOp::Updated); + changeset.add_key("b".to_string(), KeyOp::Updated); + let delta = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta, ["a", "b"]); + changeset.rollback_transaction(); + changeset.start_transaction(); + changeset.add_key("a".to_string(), KeyOp::Updated); + changeset.add_key("b".to_string(), KeyOp::Updated); + changeset.add_key("c".to_string(), KeyOp::Updated); + changeset.commit_transaction(); + let delta2 = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta2, ["a", "b", "c"]); + } + + #[test] + fn test_simple_snapshot_uniq4() { + let mut changeset = Changeset::new(); + changeset.start_transaction(); + changeset.add_key("a".to_string(), KeyOp::Updated); + changeset.add_key("b".to_string(), KeyOp::Updated); + changeset.add_key("c".to_string(), KeyOp::Updated); + let delta = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta, ["a", "b", "c"]); + changeset.start_transaction(); + changeset.add_key("a".to_string(), KeyOp::Updated); + changeset.add_key("b".to_string(), KeyOp::Updated); + changeset.add_key("c".to_string(), KeyOp::Updated); + changeset.commit_transaction(); + changeset.commit_transaction(); + let delta2 = changeset.create_snapshot_and_get_delta2(); + assert!(delta2.is_empty()); + } + + #[test] + fn test_simple_snapshot_uniq5() { + let mut changeset = Changeset::new(); + changeset.start_transaction(); + changeset.add_key("a".to_string(), KeyOp::Updated); + changeset.add_key("b".to_string(), KeyOp::Updated); + changeset.add_key("c".to_string(), KeyOp::Updated); + let delta = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta, ["a", "b", "c"]); + changeset.start_transaction(); + changeset.add_key("d".to_string(), KeyOp::Updated); + changeset.add_key("e".to_string(), KeyOp::Updated); + changeset.add_key("f".to_string(), KeyOp::Updated); + let delta = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta, ["d", "e", "f"]); + changeset.start_transaction(); + changeset.add_key("a".to_string(), KeyOp::Updated); + changeset.add_key("b".to_string(), KeyOp::Updated); + let delta2 = changeset.create_snapshot_and_get_delta2(); + assert!(delta2.is_empty()); + } + + #[test] + fn test_rollback_without_snapshot() { + let mut changeset = Changeset::new(); + changeset.add_key("a".to_string(), KeyOp::Updated); + changeset.start_transaction(); + changeset.add_key("b".to_string(), KeyOp::Updated); + changeset.add_key("c".to_string(), KeyOp::Updated); + changeset.rollback_transaction(); + let delta = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta, ["a"]); + } + + #[test] + fn test_empty_transaction_commit() { + let mut changeset = Changeset::new(); + changeset.add_key("a".to_string(), KeyOp::Updated); + changeset.start_transaction(); + changeset.commit_transaction(); + let delta = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta, ["a"]); + } + + #[test] + fn test_empty_transaction_rollback() { + let mut changeset = Changeset::new(); + changeset.add_key("a".to_string(), KeyOp::Updated); + changeset.start_transaction(); + changeset.rollback_transaction(); + let delta = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta, ["a"]); + } + + #[test] + fn test_transaction_snapshot_rollback_root_visibility() { + let mut changeset = Changeset::new(); + changeset.add_key("root1".to_string(), KeyOp::Updated); + changeset.add_key("root2".to_string(), KeyOp::Updated); + changeset.start_transaction(); + changeset.add_key("tx1".to_string(), KeyOp::Updated); + let snap1 = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(snap1, ["root1", "root2", "tx1"]); + changeset.rollback_transaction(); + // After rollback, root1 and root2 should be available again + let snap2 = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(snap2, ["root1", "root2"]); + } + + #[test] + fn test_deep_nesting_snapshots_at_every_level() { + let mut changeset = Changeset::new(); + changeset.add_key("l0".to_string(), KeyOp::Updated); + let s0 = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(s0, ["l0"]); + + changeset.start_transaction(); + changeset.add_key("l1".to_string(), KeyOp::Updated); + let s1 = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(s1, ["l1"]); + + changeset.start_transaction(); + changeset.add_key("l2".to_string(), KeyOp::Updated); + let s2 = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(s2, ["l2"]); + + changeset.start_transaction(); + changeset.add_key("l3".to_string(), KeyOp::Updated); + let s3 = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(s3, ["l3"]); + + changeset.commit_transaction(); + changeset.commit_transaction(); + changeset.commit_transaction(); + + let final_snap = changeset.create_snapshot_and_get_delta2(); + assert!(final_snap.is_empty()); + } + + #[test] + fn test_duplicate_keys_in_same_transaction() { + let mut changeset = Changeset::new(); + changeset.start_transaction(); + changeset.add_key("dup".to_string(), KeyOp::Updated); + changeset.add_key("dup".to_string(), KeyOp::Updated); + changeset.add_key("dup".to_string(), KeyOp::Updated); + changeset.add_key("unique".to_string(), KeyOp::Updated); + changeset.commit_transaction(); + let delta = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta, ["dup", "unique"]); + } + + #[test] + fn test_updated_then_deleted_same_transaction() { + // Updated then Deleted in same transaction - both should appear + let mut changeset = Changeset::new(); + changeset.add_key("a".to_string(), super::KeyOp::Updated); + let delta1 = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta1, ["a"]); + + changeset.add_key("a".to_string(), super::KeyOp::Deleted); + let delta2 = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta2, ["a"]); + } + + #[test] + fn test_updated_then_deleted_across_transactions() { + // Updated then Deleted across transactions + let mut changeset = Changeset::new(); + changeset.start_transaction(); + changeset.add_key("a".to_string(), super::KeyOp::Updated); + changeset.commit_transaction(); + let delta1 = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta1, ["a"]); + + changeset.start_transaction(); + changeset.add_key("a".to_string(), super::KeyOp::Deleted); + changeset.commit_transaction(); + let delta2 = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta2, ["a"]); + } + + #[test] + fn test_deleted_then_updated_filters_updated() { + // Deleted then Updated - Updated should be filtered + let mut changeset = Changeset::new(); + changeset.add_key("a".to_string(), super::KeyOp::Deleted); + let delta1 = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta1, ["a"]); + + changeset.add_key("a".to_string(), super::KeyOp::Updated); + let delta2 = changeset.create_snapshot_and_get_delta2(); + assert!(delta2.is_empty()); + } + + #[test] + fn test_deleted_then_updated_no_snapshot_between() { + // Deleted then Updated before snapshot - only Deleted appears + let mut changeset = Changeset::new(); + changeset.add_key("a".to_string(), super::KeyOp::Deleted); + changeset.add_key("a".to_string(), super::KeyOp::Updated); + let delta = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta, ["a"]); + } + + #[test] + fn test_updated_in_parent_deleted_in_child() { + // Updated in parent, Deleted in child transaction + let mut changeset = Changeset::new(); + changeset.add_key("a".to_string(), super::KeyOp::Updated); + changeset.start_transaction(); + changeset.add_key("a".to_string(), super::KeyOp::Deleted); + let delta = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta, ["a"]); // Only one "a" - the Deleted one wins + changeset.commit_transaction(); + } + + #[test] + fn test_deleted_in_parent_updated_in_child_rollback() { + // Deleted in parent, Updated in child - then rollback + let mut changeset = Changeset::new(); + changeset.add_key("a".to_string(), super::KeyOp::Deleted); + let delta1 = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta1, ["a"]); + + changeset.start_transaction(); + changeset.add_key("a".to_string(), super::KeyOp::Updated); + changeset.rollback_transaction(); + + let delta2 = changeset.create_snapshot_and_get_delta2(); + assert!(delta2.is_empty()); // Tombstone persists after rollback + } + + #[test] + fn test_multiple_updated_then_deleted() { + // Multiple Updated, then one Deleted + let mut changeset = Changeset::new(); + changeset.add_key("a".to_string(), super::KeyOp::Updated); + let delta1 = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta1, ["a"]); + + changeset.add_key("a".to_string(), super::KeyOp::Updated); + let delta2 = changeset.create_snapshot_and_get_delta2(); + assert!(delta2.is_empty()); // Filtered + + changeset.add_key("a".to_string(), super::KeyOp::Deleted); + let delta3 = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta3, ["a"]); // Deleted appears + } + + #[test] + fn test_updated_then_deleted_in_child_snapshot_then_rollback() { + let mut changeset = Changeset::new(); + changeset.add_key("a".to_string(), super::KeyOp::Updated); + + changeset.start_transaction(); + changeset.add_key("a".to_string(), super::KeyOp::Deleted); + let delta1 = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta1, ["a"]); // Both Updated and Deleted captured + + changeset.rollback_transaction(); + + let delta2 = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta2, ["a"]); // Updated key appears again + } + + #[test] + fn test_updated_then_deleted_in_child_snapshot_then_rollback_2() { + let mut changeset = Changeset::new(); + changeset.add_key("a".to_string(), super::KeyOp::Updated); + let delta = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta, ["a"]); // Updated key appears again + + changeset.start_transaction(); + changeset.add_key("a".to_string(), super::KeyOp::Deleted); + let delta = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta, ["a"]); // Both Updated and Deleted captured + + changeset.rollback_transaction(); + let delta = changeset.create_snapshot_and_get_delta2(); + assert!(delta.is_empty()); // Filtered + } + + #[test] + fn xxxx() { + // use tracing_subscriber::EnvFilter; + // // Initialize tracing with RUST_LOG support + // tracing_subscriber::fmt() + // .with_env_filter(EnvFilter::from_default_env()) + // .try_init() + // .ok(); // Ignore error if already initialized + // + let mut changeset = Changeset::new(); + changeset.start_transaction(); + changeset.add_key("a".to_string(), KeyOp::Updated); + changeset.add_key("b".to_string(), KeyOp::Updated); + changeset.commit_transaction(); + let delta2 = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta2, ["a", "b"]); + + changeset.start_transaction(); + changeset.add_key("c".to_string(), KeyOp::Updated); + changeset.add_key("d".to_string(), KeyOp::Updated); + changeset.commit_transaction(); + let delta2 = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta2, ["c", "d"]); + + changeset.start_transaction(); + changeset.add_key("e".to_string(), KeyOp::Updated); + changeset.add_key("f".to_string(), KeyOp::Updated); + debug!(target:LOG_TARGET, ">> before commit {:?}", changeset); + changeset.commit_transaction(); + debug!(target:LOG_TARGET, ">> after commit {:?}", changeset); + + let delta2 = changeset.create_snapshot_and_get_delta2(); + delta_assert_eq!(delta2, ["e", "f"]); + debug!(target:LOG_TARGET, ">> after snap {:?}", changeset); + changeset.start_transaction(); + changeset.commit_transaction(); + debug!(target:LOG_TARGET, ">> after final commit {:?}", changeset); + let delta2 = changeset.create_snapshot_and_get_delta2(); + assert!(delta2.is_empty()); + } +} diff --git a/substrate/primitives/state-machine/src/read_only.rs b/substrate/primitives/state-machine/src/read_only.rs index e5da2fde1fd55..9ebe6b8335d44 100644 --- a/substrate/primitives/state-machine/src/read_only.rs +++ b/substrate/primitives/state-machine/src/read_only.rs @@ -176,6 +176,12 @@ where unimplemented!("storage_root is not supported in ReadOnlyExternalities") } + fn trigger_storage_root_size_estimation(&mut self, _: StateVersion) { + unimplemented!( + "trigger_storage_root_size_estimation is not supported in ReadOnlyExternalities" + ) + } + fn child_storage_root( &mut self, _child_info: &ChildInfo, diff --git a/substrate/primitives/state-machine/src/trie_backend.rs b/substrate/primitives/state-machine/src/trie_backend.rs index f7bfa72c575aa..77671f33c7966 100644 --- a/substrate/primitives/state-machine/src/trie_backend.rs +++ b/substrate/primitives/state-machine/src/trie_backend.rs @@ -20,7 +20,7 @@ #[cfg(feature = "std")] use crate::backend::AsTrieBackend; use crate::{ - backend::{IterArgs, StorageIterator}, + backend::{BackendSnapshot, IterArgs, StorageIterator}, trie_backend_essence::{RawIter, TrieBackendEssence, TrieBackendStorage}, Backend, StorageKey, StorageValue, }; @@ -530,6 +530,27 @@ where self.essence.child_storage_root(child_info, delta, state_version) } + fn trigger_storage_root_size_estimation<'a, 'b>( + &self, + delta: impl Iterator)>, + state_version: StateVersion, + ) where + H::Out: Ord, + { + self.essence.trigger_storage_root_size_estimation(delta, state_version) + } + + fn trigger_child_storage_root_size_estimation<'a, 'b>( + &self, + child_info: &ChildInfo, + delta: impl Iterator)>, + state_version: StateVersion, + ) where + H::Out: Ord, + { + self.essence.trigger_child_storage_root_size_estimation(child_info, delta, state_version) + } + fn register_overlay_stats(&self, _stats: &crate::stats::StateMachineStats) {} fn usage_info(&self) -> crate::UsageInfo { diff --git a/substrate/primitives/state-machine/src/trie_backend_essence.rs b/substrate/primitives/state-machine/src/trie_backend_essence.rs index 057c742649db1..666fcb6c1040a 100644 --- a/substrate/primitives/state-machine/src/trie_backend_essence.rs +++ b/substrate/primitives/state-machine/src/trie_backend_essence.rs @@ -19,9 +19,10 @@ //! from storage. use crate::{ - backend::{IterArgs, StorageIterator}, + backend::{BackendSnapshot, IterArgs, StorageIterator}, + debug, trie_backend::TrieCacheProvider, - warn, StorageKey, StorageValue, + warn, BackendTransaction, StorageKey, StorageValue, }; #[cfg(feature = "std")] use alloc::sync::Arc; @@ -33,18 +34,18 @@ use hash_db::{self, AsHashDB, HashDB, HashDBRef, Hasher, Prefix}; use parking_lot::RwLock; use sp_core::storage::{ChildInfo, ChildType, StateVersion}; use sp_trie::{ - child_delta_trie_root, delta_trie_root, empty_child_trie_root, - read_child_trie_first_descendant_value, read_child_trie_hash, read_child_trie_value, - read_trie_first_descendant_value, read_trie_value, + child_delta_trie_root, child_read_trie_keys_from_delta, child_remove_trie_keys_from_delta, + delta_trie_root, empty_child_trie_root, read_child_trie_first_descendant_value, + read_child_trie_hash, read_child_trie_value, read_trie_first_descendant_value, + read_trie_keys_from_delta, read_trie_value, remove_trie_keys_from_delta, trie_types::{TrieDBBuilder, TrieError}, - DBValue, KeySpacedDB, MerkleValue, NodeCodec, PrefixedMemoryDB, RandomState, Trie, TrieCache, - TrieDBRawIterator, TrieRecorder, TrieRecorderProvider, + DBValue, KeySpacedDB, LayoutV1 as Layout, MerkleValue, NodeCodec, PrefixedMemoryDB, + RandomState, Trie, TrieCache, TrieDBRawIterator, TrieRecorder, TrieRecorderProvider, }; #[cfg(feature = "std")] use std::collections::HashMap; // In this module, we only use layout for read operation and empty root, // where V1 and V0 are equivalent. -use sp_trie::LayoutV1 as Layout; #[cfg(not(feature = "std"))] macro_rules! format { @@ -656,6 +657,86 @@ where (root, write_overlay) } + /// Updates the recorder's proof size by recording trie nodes for a given delta. + /// + /// This function performs two operations to ensure accurate proof size calculation: + /// 1. Reads all keys that will be inserted or updated (those with `Some` values in the delta) + /// 2. Removes/touches all keys that will be deleted (those with `None` values in the delta) + /// All accessed trie nodes are recorded by the recorder, enabling accurate proof size + /// estimation for block production and validation. + /// + /// Note: This function does not modify the actual storage state - it only reads and records + /// the trie nodes that would be affected by the given delta for proof size estimation. + pub fn trigger_storage_root_size_estimation<'a, 'b>( + &self, + delta: impl Iterator)>, + state_version: StateVersion, + ) { + let mut write_overlay = PrefixedMemoryDB::with_hasher(RandomState::default()); + let backend_storage = &self.backend_storage(); + let mut eph = Ephemeral::new(backend_storage, &mut write_overlay); + + let mut delta = delta.into_iter().collect::>(); + delta.sort(); + + let (keys_to_be_read, keys_to_be_removed): (Vec<_>, Vec<_>) = + delta.into_iter().partition(|(_, v)| v.is_some()); + + self.with_recorder_and_cache(None, |recorder, cache| { + let res = { + match state_version { + StateVersion::V0 => + read_trie_keys_from_delta::, _, _, _, _>( + &eph, + self.root, + keys_to_be_read, + recorder, + cache, + ), + StateVersion::V1 => + read_trie_keys_from_delta::, _, _, _, _>( + &eph, + self.root, + keys_to_be_read, + recorder, + cache, + ), + } + }; + + let _ = res.inspect_err(|e| { + warn!(target: "trie", "Failed to read delta keys from trie: {}", e); + }); + }); + + self.with_recorder_and_cache(None, |recorder, cache| { + let res = { + match state_version { + StateVersion::V0 => + remove_trie_keys_from_delta::, _, _, _, _>( + &mut eph, + self.root, + keys_to_be_removed, + recorder, + cache, + ), + StateVersion::V1 => + remove_trie_keys_from_delta::, _, _, _, _>( + &mut eph, + self.root, + keys_to_be_removed, + recorder, + cache, + ), + } + }; + + let _ = res.inspect_err(|e| { + warn!(target: "trie", "Failed to remove delta keys from trie: {}", e); + }); + }); + } + /// Returns the child storage root for the child trie `child_info` after applying the given /// `delta`. pub fn child_storage_root<'a>( @@ -712,6 +793,80 @@ where (new_child_root, is_default, write_overlay) } + + /// Updates the recorder's proof size by recording child trie nodes for a given delta. + /// + /// Refer to [`trigger_storage_root_size_estimation`] for more details. + pub fn trigger_child_storage_root_size_estimation<'a>( + &self, + child_info: &ChildInfo, + delta: impl Iterator)>, + state_version: StateVersion, + ) { + let default_root = match child_info.child_type() { + ChildType::ParentKeyId => empty_child_trie_root::>(), + }; + let mut write_overlay = PrefixedMemoryDB::with_hasher(RandomState::default()); + let child_root = match self.child_root(child_info) { + Ok(Some(hash)) => hash, + Ok(None) => default_root, + Err(e) => { + warn!(target: "trie", "Failed to read child storage root: {}", e); + default_root + }, + }; + let mut eph = Ephemeral::new(self.backend_storage(), &mut write_overlay); + + let mut delta = delta.into_iter().collect::>(); + delta.sort(); + + let (keys_to_be_read, keys_to_be_removed): (Vec<_>, Vec<_>) = + delta.into_iter().partition(|(_, v)| v.is_some()); + + let _ = + self.with_recorder_and_cache(Some(child_root), |recorder, cache| match state_version { + StateVersion::V0 => + child_read_trie_keys_from_delta::, _, _, _, _, _>( + child_info.keyspace(), + &eph, + child_root, + keys_to_be_read, + recorder, + cache, + ), + StateVersion::V1 => + child_read_trie_keys_from_delta::, _, _, _, _, _>( + child_info.keyspace(), + &eph, + child_root, + keys_to_be_read, + recorder, + cache, + ), + }); + + let _ = + self.with_recorder_and_cache(Some(child_root), |recorder, cache| match state_version { + StateVersion::V0 => + child_remove_trie_keys_from_delta::, _, _, _, _, _>( + child_info.keyspace(), + &mut eph, + child_root, + keys_to_be_removed, + recorder, + cache, + ), + StateVersion::V1 => + child_remove_trie_keys_from_delta::, _, _, _, _, _>( + child_info.keyspace(), + &mut eph, + child_root, + keys_to_be_removed, + recorder, + cache, + ), + }); + } } pub(crate) struct Ephemeral<'a, S: 'a + TrieBackendStorage, H: 'a + Hasher> { diff --git a/substrate/primitives/trie/Cargo.toml b/substrate/primitives/trie/Cargo.toml index 1d34f0fce0329..1211462d05d83 100644 --- a/substrate/primitives/trie/Cargo.toml +++ b/substrate/primitives/trie/Cargo.toml @@ -55,7 +55,7 @@ std = [ "foldhash/std", "hash-db/std", "memory-db/std", - "nohash-hasher", + "nohash-hasher/std", "parking_lot", "prometheus-endpoint", "rand", diff --git a/substrate/primitives/trie/src/lib.rs b/substrate/primitives/trie/src/lib.rs index de828c2e10194..540d8a552ebd1 100644 --- a/substrate/primitives/trie/src/lib.rs +++ b/substrate/primitives/trie/src/lib.rs @@ -40,6 +40,7 @@ mod trie_stream; pub mod proof_size_extension; #[cfg(feature = "std")] +// pub use foldhash::quality::RandomState; pub use std::hash::RandomState; #[cfg(not(feature = "std"))] @@ -292,7 +293,85 @@ where verify_proof::(root, proof, items) } -/// Determine a trie root given a hash DB and delta values. +/// Removes keys from a trie based on the provided delta, recording the nodes for proof size +/// calculation. +/// +/// This function replicates the trie operations that would occur for the given delta, removing +/// specified trie nodes. It is intended for calculating proof size without altering the actual trie +/// storage apart from removals. +pub fn remove_trie_keys_from_delta( + db: &mut DB, + mut root: TrieHash, + delta: I, + recorder: Option<&mut dyn trie_db::TrieRecorder>>, + cache: Option<&mut dyn TrieCache>, +) -> Result<(), Box>> +where + I: IntoIterator, + A: Borrow<[u8]>, + DB: hash_db::HashDB, +{ + let mut removed = 0; + { + let mut trie = TrieDBMutBuilder::::from_existing(db, &mut root) + .with_optional_cache(cache) + .with_optional_recorder(recorder) + .build_base(); + + //todo: change not required here + for (key, _) in delta { + trie.remove(key.borrow())?; + removed += 1; + } + } + #[cfg(feature = "std")] + { + tracing::debug!(target:"durations", "remove_trie_keys_from_delta: removed:{removed}"); + } + + Ok(()) +} + +/// Executes a trie node accesses based on the provided delta, recording the nodes for proof size +/// calculation. +/// +/// This function replicats the trie operations that would occur for the given delta, recording trie +/// nodes accessed. It is intended for calculating proof size without altering the actual trie +/// storage. +pub fn read_trie_keys_from_delta( + db: &DB, + root: TrieHash, + delta: I, + recorder: Option<&mut dyn trie_db::TrieRecorder>>, + cache: Option<&mut dyn TrieCache>, +) -> Result<(), Box>> +where + I: IntoIterator, + A: Borrow<[u8]>, + DB: hash_db::HashDBRef, +{ + let mut read = 0; + { + let trie = TrieDBBuilder::::new(db, &root) + .with_optional_cache(cache) + .with_optional_recorder(recorder) + .build(); + + //todo: change not required here + for (key, _) in delta { + trie.get(key.borrow())?; + read += 1; + } + } + + #[cfg(feature = "std")] + { + tracing::debug!(target:"durations", "read_trie_keys_from_delta: read:{read}"); + } + + Ok(()) +} + pub fn delta_trie_root( db: &mut DB, mut root: TrieHash, @@ -422,6 +501,50 @@ where delta_trie_root::(&mut db, root, delta, recorder, cache) } +pub fn child_remove_trie_keys_from_delta( + keyspace: &[u8], + db: &mut DB, + root_data: RD, + delta: I, + recorder: Option<&mut dyn trie_db::TrieRecorder>>, + cache: Option<&mut dyn TrieCache>, +) -> Result<(), Box>> +where + I: IntoIterator, + A: Borrow<[u8]>, + RD: AsRef<[u8]>, + DB: hash_db::HashDB, +{ + let mut root = TrieHash::::default(); + // root is fetched from DB, not writable by runtime, so it's always valid. + root.as_mut().copy_from_slice(root_data.as_ref()); + + let mut db = KeySpacedDBMut::new(db, keyspace); + remove_trie_keys_from_delta::(&mut db, root, delta, recorder, cache) +} + +pub fn child_read_trie_keys_from_delta( + keyspace: &[u8], + db: &DB, + root_data: RD, + delta: I, + recorder: Option<&mut dyn trie_db::TrieRecorder>>, + cache: Option<&mut dyn TrieCache>, +) -> Result<(), Box>> +where + I: IntoIterator, + A: Borrow<[u8]>, + RD: AsRef<[u8]>, + DB: hash_db::HashDB + hash_db::HashDBRef, +{ + let mut root = TrieHash::::default(); + // root is fetched from DB, not writable by runtime, so it's always valid. + root.as_mut().copy_from_slice(root_data.as_ref()); + + let db = KeySpacedDB::new(db, keyspace); + read_trie_keys_from_delta::(&db, root, delta, recorder, cache) +} + /// Read a value from the child trie. pub fn read_child_trie_value( keyspace: &[u8],