diff --git a/scripts/benchmarks-ci.sh b/scripts/benchmarks-ci.sh index 09f3d536885..4b465400198 100755 --- a/scripts/benchmarks-ci.sh +++ b/scripts/benchmarks-ci.sh @@ -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 @@ -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 \ diff --git a/scripts/benchmarks.sh b/scripts/benchmarks.sh index 19fa54adb30..0db74102f24 100755 --- a/scripts/benchmarks.sh +++ b/scripts/benchmarks.sh @@ -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