Skip to content

Commit

Permalink
CAD-2725 bench: update profiles for the modern age
Browse files Browse the repository at this point in the history
  • Loading branch information
deepfire committed Mar 2, 2021
1 parent 30385ae commit 7c28f5a
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 47 deletions.
3 changes: 3 additions & 0 deletions bench/bench.sh
Expand Up @@ -70,6 +70,7 @@ usage_extra() {
--fast-unsafe Ignore safety, go fast. Deploys won't be made,
unprocessed logs will be lost.
--pre-deploy An extra deployment phase, before the genesis is generated.
--deploy Force redeployment, event if benchmarking
a single profile.
--keep-genesis Only update genesis start time & hash,
Expand Down Expand Up @@ -113,6 +114,7 @@ no_prebuild=
no_deploy=
no_analysis=
no_wait=
predeploy=
force_deploy=
reuse_genesis=
watch_deploy=
Expand All @@ -133,6 +135,7 @@ main() {
--no-deploy | --skip-deploy ) no_deploy=t;;
--no-analysis | --skip-analysis ) no_analysis=t;;
--deploy ) force_deploy=t;;
--pre-deploy | --predeploy ) predeploy=t;;
--reuse-genesis | --keep-genesis )
reuse_genesis=t;;
--watch | --watch-deploy )
Expand Down
30 changes: 8 additions & 22 deletions bench/lib-profile.sh
Expand Up @@ -40,28 +40,14 @@ profile_deploy() {
if test -n "$watcher_pid"
then kill "$watcher_pid" >/dev/null 2>&1 || true; fi

## Determine if genesis update is necessary:
## 1. profile incompatible?
regenesis_causes=(mandatory)

if ! genesisjq . >/dev/null 2>&1
then regenesis_causes+=('missing-or-malformed-genesis-metadata')
else
if njqtest "
$(genesisjq .params) !=
$(profjq "${prof}" .genesis)"
then regenesis_causes+=('profile-requires-new-genesis'); fi; fi

if test -n "${regenesis_causes[*]}"
then oprint "regenerating genesis, because: ${regenesis_causes[*]}"
local genesislog
genesislog=runs/$(timestamp).genesis.$prof.log
profile_genesis "$prof" 2>&1 || {
fprint "genesis generation failed:"
cat "$genesislog" >&2
exit 1
} | tee "$genesislog";
fi
oprint "regenerating genesis, because: ${regenesis_causes[*]}"
local genesislog
genesislog=runs/$(timestamp).genesis.$prof.log
profile_genesis "$prof" 2>&1 || {
fprint "genesis generation failed:"
cat "$genesislog" >&2
exit 1
} | tee "$genesislog";

include="explorer $(params producers)"

Expand Down
41 changes: 16 additions & 25 deletions bench/profile-definitions.jq
Expand Up @@ -188,31 +188,22 @@ def pool_density_profiles:
];

def utxo_delegators_density_profiles:
[ { genesis: { utxo: 1000000, delegators: 125000 } }
, { genesis: { utxo: 1000000, delegators: 125000, dense_pool_density: 2 } }
, { genesis: { utxo: 1000000, delegators: 125000, dense_pool_density: 4 } }
, { genesis: { utxo: 1000000, delegators: 125000, dense_pool_density: 8 } }
, { genesis: { utxo: 1000000, delegators: 125000, dense_pool_density: 20 } }
, { genesis: { utxo: 1000000, delegators: 125000, dense_pool_density: 40 } }
, { genesis: { utxo: 2000000, delegators: 125000 } }
, { genesis: { utxo: 4000000, delegators: 125000 } }
, { genesis: { utxo: 1000000, delegators: 250000 } }
, { genesis: { utxo: 1000000, delegators: 500000 } }
, { genesis: { utxo: 1000000, delegators: 1000000 } }
, { genesis: { utxo: 2000000, delegators: 2000000 } }
## TPS profiles
, { genesis: { utxo: 1000000, delegators: 125000 }
, generator: { tps: 2, epochs: 5 } }
, { genesis: { utxo: 1000000, delegators: 125000 }
, generator: { tps: 5, epochs: 5 } }
, { genesis: { utxo: 1000000, delegators: 125000 }
, generator: { tps: 10, epochs: 5 } }
, { genesis: { utxo: 1000000, delegators: 125000 }
, generator: { tps: 20, epochs: 5 } }
, { genesis: { utxo: 1000000, delegators: 125000 }
, generator: { tps: 30, epochs: 5 } }
, { genesis: { utxo: 1000000, delegators: 125000 }
, generator: { tps: 40, epochs: 5 } }
[ { genesis: { utxo: 2000000, delegators: 500000 } }
, { genesis: { utxo: 2000000, delegators: 750000 } }
, { genesis: { utxo: 2000000, delegators: 1000000 } }
, { genesis: { utxo: 3000000, delegators: 500000 } }
, { genesis: { utxo: 4000000, delegators: 500000 } }
, { genesis: { utxo: 4000000, delegators: 1000000 } }
, { genesis: { utxo: 2000000, delegators: 500000, dense_pool_density: 10 } }
, { genesis: { utxo: 2000000, delegators: 500000, dense_pool_density: 20 } }
, { genesis: { utxo: 2000000, delegators: 500000 }
, generator: { tps: 5 } }
, { genesis: { utxo: 2000000, delegators: 500000 }
, generator: { tps: 10 } }
, { genesis: { utxo: 4000000, delegators: 1000000 }
, generator: { tps: 5 } }
, { genesis: { utxo: 4000000, delegators: 1000000 }
, generator: { tps: 10 } }
];

def generator_profiles:
Expand Down

0 comments on commit 7c28f5a

Please sign in to comment.