mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-12 03:01:07 +00:00
[parachain-template] benchmarks into mod benchmarks (#3818)
This PR introduces a dedicated module for benchmarks within the parachain runtime. By segregating benchmarks into their own module, we achieve a cleaner project structure and improved readability, facilitating easier maintenance and updates. ### Key Changes: - **New Benchmarks Module**: A new file `benchmarks.rs` is added, encapsulating the benchmarking code for various pallets. - **Refactoring `lib.rs`**: The main runtime library file (`lib.rs`) has been updated to reflect the extraction of benchmark definitions. By moving these definitions to `benchmarks.rs`, we reduce clutter in `lib.rs`, streamlining the runtime's core logic and configuration. ### Benefits of This Refactoring: - **Focused Benchmarking**: Developers can now easily locate and modify benchmarks without navigating through the core runtime logic, enabling targeted performance improvements. - **Cleaner Codebase**: Segregating benchmarks from the main runtime logic helps maintain a clean, well-organized codebase, simplifying navigation and maintenance. - **Scalability**: As the parachain evolves, adding or updating benchmarks becomes more straightforward, supporting scalability and adaptability of the runtime. ### Summary of Changes: - Created `benchmarks.rs` to house the benchmarking suite. - Streamlined `lib.rs` by removing the inlined benchmark definitions and linking to the new benchmarks module. --------- Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
ba0f8de0c7
commit
33bbdb3cae
@@ -0,0 +1,36 @@
|
||||
// This is free and unencumbered software released into the public domain.
|
||||
//
|
||||
// Anyone is free to copy, modify, publish, use, compile, sell, or
|
||||
// distribute this software, either in source code form or as a compiled
|
||||
// binary, for any purpose, commercial or non-commercial, and by any
|
||||
// means.
|
||||
//
|
||||
// In jurisdictions that recognize copyright laws, the author or authors
|
||||
// of this software dedicate any and all copyright interest in the
|
||||
// software to the public domain. We make this dedication for the benefit
|
||||
// of the public at large and to the detriment of our heirs and
|
||||
// successors. We intend this dedication to be an overt act of
|
||||
// relinquishment in perpetuity of all present and future rights to this
|
||||
// software under copyright law.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
// IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
||||
// OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
// OTHER DEALINGS IN THE SOFTWARE.
|
||||
//
|
||||
// For more information, please refer to <http://unlicense.org>
|
||||
|
||||
frame_benchmarking::define_benchmarks!(
|
||||
[frame_system, SystemBench::<Runtime>]
|
||||
[pallet_balances, Balances]
|
||||
[pallet_session, SessionBench::<Runtime>]
|
||||
[pallet_timestamp, Timestamp]
|
||||
[pallet_message_queue, MessageQueue]
|
||||
[pallet_sudo, Sudo]
|
||||
[pallet_collator_selection, CollatorSelection]
|
||||
[cumulus_pallet_parachain_system, ParachainSystem]
|
||||
[cumulus_pallet_xcmp_queue, XcmpQueue]
|
||||
);
|
||||
@@ -255,22 +255,10 @@ construct_runtime!(
|
||||
}
|
||||
);
|
||||
|
||||
#[cfg(feature = "runtime-benchmarks")]
|
||||
mod benches {
|
||||
frame_benchmarking::define_benchmarks!(
|
||||
[frame_system, SystemBench::<Runtime>]
|
||||
[pallet_balances, Balances]
|
||||
[pallet_session, SessionBench::<Runtime>]
|
||||
[pallet_timestamp, Timestamp]
|
||||
[pallet_message_queue, MessageQueue]
|
||||
[pallet_sudo, Sudo]
|
||||
[pallet_collator_selection, CollatorSelection]
|
||||
[cumulus_pallet_parachain_system, ParachainSystem]
|
||||
[cumulus_pallet_xcmp_queue, XcmpQueue]
|
||||
);
|
||||
}
|
||||
|
||||
cumulus_pallet_parachain_system::register_validate_block! {
|
||||
Runtime = Runtime,
|
||||
BlockExecutor = cumulus_pallet_aura_ext::BlockExecutor::<Runtime, Executive>,
|
||||
}
|
||||
|
||||
#[cfg(feature = "runtime-benchmarks")]
|
||||
mod benchmarks;
|
||||
|
||||
Reference in New Issue
Block a user