Skip to content

Commit

Permalink
Benchmarks script improvements (#2214)
Browse files Browse the repository at this point in the history
* Benchmarks script improvements

* EOF

---------

Co-authored-by: parity-processbot <>
  • Loading branch information
muharem authored Feb 21, 2023
1 parent 5b42b5f commit d21bfd7
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 67 deletions.
75 changes: 15 additions & 60 deletions scripts/benchmarks-ci.sh
Original file line number Diff line number Diff line change
@@ -1,70 +1,25 @@
#!/usr/bin/env bash

steps=50
repeat=20
category=$1
runtimeName=$2
artifactsDir=$3
steps=${4:-50}
repeat=${5:-20}

benchmarkOutput=./parachains/runtimes/$category/$runtimeName/src/weights
benchmarkRuntimeName="$runtimeName-dev"

if [[ $runtimeName == "statemint" ]] || [[ $runtimeName == "statemine" ]] || [[ $runtimeName == "westmint" ]]; then
pallets=(
pallet_assets
pallet_balances
pallet_collator_selection
pallet_multisig
pallet_proxy
pallet_session
pallet_timestamp
pallet_utility
pallet_uniques
cumulus_pallet_xcmp_queue
frame_system
pallet_xcm_benchmarks::generic
pallet_xcm_benchmarks::fungible
)
elif [[ $runtimeName == "collectives-polkadot" ]]; then
pallets=(
pallet_alliance
pallet_balances
pallet_collator_selection
pallet_collective
pallet_multisig
pallet_proxy
pallet_session
pallet_timestamp
pallet_utility
cumulus_pallet_xcmp_queue
frame_system
)
elif [[ $runtimeName == "bridge-hub-kusama" ]] || [[ $runtimeName == "bridge-hub-polkadot" ]]; then
pallets=(
frame_system
pallet_balances
pallet_collator_selection
pallet_multisig
pallet_session
pallet_timestamp
pallet_utility
cumulus_pallet_xcmp_queue
pallet_xcm_benchmarks::generic
pallet_xcm_benchmarks::fungible
)
elif [[ $runtimeName == "bridge-hub-rococo" ]]; then
pallets=(
frame_system
pallet_balances
pallet_collator_selection
pallet_multisig
pallet_session
pallet_timestamp
pallet_utility
cumulus_pallet_xcmp_queue
pallet_xcm_benchmarks::generic
pallet_xcm_benchmarks::fungible
)
# Load all pallet names in an array.
pallets=($(
${artifactsDir}/polkadot-parachain benchmark pallet --list --chain="${benchmarkRuntimeName}" |\
tail -n+2 |\
cut -d',' -f1 |\
sort |\
uniq
))

if [ ${#pallets[@]} -ne 0 ]; then
echo "[+] Benchmarking ${#pallets[@]} pallets for runtime $runtime"
else
echo "$runtimeName pallet list not found in benchmarks-ci.sh"
exit 1
Expand All @@ -75,10 +30,10 @@ do
output_file="${pallet//::/_}"
extra_args=""
# a little hack for pallet_xcm_benchmarks - we want to force custom implementation for XcmWeightInfo
if [[ "$pallet" == "pallet_xcm_benchmarks::generic" ]] || [[ "$pallet" == "pallet_xcm_benchmarks::fungible" ]]; then
if [[ "$pallet" == "pallet_xcm_benchmarks::generic" ]] || [[ "$pallet" == "pallet_xcm_benchmarks::fungible" ]]; then
output_file="xcm/$output_file"
extra_args="--template=./templates/xcm-bench-template.hbs"
fi
fi
$artifactsDir/polkadot-parachain benchmark pallet \
$extra_args \
--chain=$benchmarkRuntimeName \
Expand Down
18 changes: 11 additions & 7 deletions scripts/benchmarks.sh
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
#!/usr/bin/env bash

target=${1:-production}
steps=${2:-50}
repeat=${3:-20}

__dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

${__dir}/benchmarks-ci.sh collectives collectives-polkadot target/production
${__dir}/benchmarks-ci.sh collectives collectives-polkadot target/$target $steps $repeat

${__dir}/benchmarks-ci.sh assets statemine target/production
${__dir}/benchmarks-ci.sh assets statemint target/production
${__dir}/benchmarks-ci.sh assets westmint target/production
${__dir}/benchmarks-ci.sh assets statemine target/$target $steps $repeat
${__dir}/benchmarks-ci.sh assets statemint target/$target $steps $repeat
${__dir}/benchmarks-ci.sh assets westmint target/$target $steps $repeat

${__dir}/benchmarks-ci.sh bridge-hubs bridge-hub-polkadot target/production
${__dir}/benchmarks-ci.sh bridge-hubs bridge-hub-kusama target/production
${__dir}/benchmarks-ci.sh bridge-hubs bridge-hub-rococo target/production
${__dir}/benchmarks-ci.sh bridge-hubs bridge-hub-polkadot target/$target $steps $repeat
${__dir}/benchmarks-ci.sh bridge-hubs bridge-hub-kusama target/$target $steps $repeat
${__dir}/benchmarks-ci.sh bridge-hubs bridge-hub-rococo target/$target $steps $repeat

0 comments on commit d21bfd7

Please sign in to comment.