From 490d78f8b8d7a8e4a45555b2d662da9cb1f1ff5c Mon Sep 17 00:00:00 2001 From: "Jonathan \"Duke\" Leto" Date: Mon, 16 Oct 2017 08:02:44 -0700 Subject: [PATCH] Make performance code less confusing and check number of args instead of failing hard --- qa/hush/performance-measurements.sh | 99 +++++++++++++++-------------- 1 file changed, 52 insertions(+), 47 deletions(-) diff --git a/qa/hush/performance-measurements.sh b/qa/hush/performance-measurements.sh index 76cfd4d4f..e9e9cb3b7 100755 --- a/qa/hush/performance-measurements.sh +++ b/qa/hush/performance-measurements.sh @@ -1,31 +1,30 @@ #!/bin/bash set -u - DATADIR=./benchmark-datadir SHA256CMD="$(command -v sha256sum || echo shasum)" SHA256ARGS="$(command -v sha256sum >/dev/null || echo '-a 256')" -function zcash_rpc { +function hush_rpc { ./src/hush-cli -datadir="$DATADIR" -rpcuser=user -rpcpassword=password -rpcport=5983 "$@" } -function zcash_rpc_slow { +function hush_rpc_slow { # Timeout of 1 hour - zcash_rpc -rpcclienttimeout=3600 "$@" + hush_rpc -rpcclienttimeout=3600 "$@" } -function zcash_rpc_veryslow { +function hush_rpc_veryslow { # Timeout of 2.5 hours - zcash_rpc -rpcclienttimeout=9000 "$@" + hush_rpc -rpcclienttimeout=9000 "$@" } -function zcash_rpc_wait_for_start { - zcash_rpc -rpcwait getinfo > /dev/null +function hush_rpc_wait_for_start { + hush_rpc -rpcwait getinfo > /dev/null } function hushd_generate { - zcash_rpc generate 101 > /dev/null + hush_rpc generate 101 > /dev/null } function extract_benchmark_datadir { @@ -76,11 +75,11 @@ function hushd_start { esac ./src/hushd -regtest -datadir="$DATADIR" -rpcuser=user -rpcpassword=password -rpcport=5983 -showmetrics=0 & ZCASHD_PID=$! - zcash_rpc_wait_for_start + hush_rpc_wait_for_start } function hushd_stop { - zcash_rpc stop > /dev/null + hush_rpc stop > /dev/null wait $ZCASHD_PID } @@ -107,11 +106,11 @@ function hushd_massif_start { rm -f massif.out valgrind --tool=massif --time-unit=ms --massif-out-file=massif.out ./src/hushd -regtest -datadir="$DATADIR" -rpcuser=user -rpcpassword=password -rpcport=5983 -showmetrics=0 & ZCASHD_PID=$! - zcash_rpc_wait_for_start + hush_rpc_wait_for_start } function hushd_massif_stop { - zcash_rpc stop > /dev/null + hush_rpc stop > /dev/null wait $ZCASHD_PID ms_print massif.out } @@ -123,11 +122,11 @@ function hushd_valgrind_start { rm -f valgrind.out valgrind --leak-check=yes -v --error-limit=no --log-file="valgrind.out" ./src/hushd -regtest -datadir="$DATADIR" -rpcuser=user -rpcpassword=password -rpcport=5983 -showmetrics=0 & ZCASHD_PID=$! - zcash_rpc_wait_for_start + hush_rpc_wait_for_start } function hushd_valgrind_stop { - zcash_rpc stop > /dev/null + hush_rpc stop > /dev/null wait $ZCASHD_PID cat valgrind.out } @@ -154,13 +153,19 @@ EOF xzcat block-107134.tar.xz | tar x -C "$DATADIR/regtest" } +if [ $# -lt 2 ] +then + echo "$0 : two arguments are required!" + exit 1 +fi + # Precomputation case "$1" in *) case "$2" in verifyjoinsplit) hushd_start "${@:2}" - RAWJOINSPLIT=$(zcash_rpc zcsamplejoinsplit) + RAWJOINSPLIT=$(hush_rpc zcsamplejoinsplit) hushd_stop esac esac @@ -170,41 +175,41 @@ case "$1" in hushd_start "${@:2}" case "$2" in sleep) - zcash_rpc zcbenchmark sleep 10 + hush_rpc zcbenchmark sleep 10 ;; parameterloading) - zcash_rpc zcbenchmark parameterloading 10 + hush_rpc zcbenchmark parameterloading 10 ;; createjoinsplit) - zcash_rpc zcbenchmark createjoinsplit 10 "${@:3}" + hush_rpc zcbenchmark createjoinsplit 10 "${@:3}" ;; verifyjoinsplit) - zcash_rpc zcbenchmark verifyjoinsplit 1000 "\"$RAWJOINSPLIT\"" + hush_rpc zcbenchmark verifyjoinsplit 1000 "\"$RAWJOINSPLIT\"" ;; solveequihash) - zcash_rpc_slow zcbenchmark solveequihash 50 "${@:3}" + hush_rpc_slow zcbenchmark solveequihash 50 "${@:3}" ;; verifyequihash) - zcash_rpc zcbenchmark verifyequihash 1000 + hush_rpc zcbenchmark verifyequihash 1000 ;; validatelargetx) - zcash_rpc zcbenchmark validatelargetx 5 + hush_rpc zcbenchmark validatelargetx 5 ;; trydecryptnotes) - zcash_rpc zcbenchmark trydecryptnotes 1000 "${@:3}" + hush_rpc zcbenchmark trydecryptnotes 1000 "${@:3}" ;; incnotewitnesses) - zcash_rpc zcbenchmark incnotewitnesses 100 "${@:3}" + hush_rpc zcbenchmark incnotewitnesses 100 "${@:3}" ;; connectblockslow) extract_benchmark_data - zcash_rpc zcbenchmark connectblockslow 10 + hush_rpc zcbenchmark connectblockslow 10 ;; sendtoaddress) - zcash_rpc zcbenchmark sendtoaddress 10 "${@:4}" + hush_rpc zcbenchmark sendtoaddress 10 "${@:4}" ;; loadwallet) - zcash_rpc zcbenchmark loadwallet 10 + hush_rpc zcbenchmark loadwallet 10 ;; *) hushd_stop @@ -217,35 +222,35 @@ case "$1" in hushd_massif_start "${@:2}" case "$2" in sleep) - zcash_rpc zcbenchmark sleep 1 + hush_rpc zcbenchmark sleep 1 ;; parameterloading) - zcash_rpc zcbenchmark parameterloading 1 + hush_rpc zcbenchmark parameterloading 1 ;; createjoinsplit) - zcash_rpc_slow zcbenchmark createjoinsplit 1 "${@:3}" + hush_rpc_slow zcbenchmark createjoinsplit 1 "${@:3}" ;; verifyjoinsplit) - zcash_rpc zcbenchmark verifyjoinsplit 1 "\"$RAWJOINSPLIT\"" + hush_rpc zcbenchmark verifyjoinsplit 1 "\"$RAWJOINSPLIT\"" ;; solveequihash) - zcash_rpc_slow zcbenchmark solveequihash 1 "${@:3}" + hush_rpc_slow zcbenchmark solveequihash 1 "${@:3}" ;; verifyequihash) - zcash_rpc zcbenchmark verifyequihash 1 + hush_rpc zcbenchmark verifyequihash 1 ;; trydecryptnotes) - zcash_rpc zcbenchmark trydecryptnotes 1 "${@:3}" + hush_rpc zcbenchmark trydecryptnotes 1 "${@:3}" ;; incnotewitnesses) - zcash_rpc zcbenchmark incnotewitnesses 1 "${@:3}" + hush_rpc zcbenchmark incnotewitnesses 1 "${@:3}" ;; connectblockslow) extract_benchmark_data - zcash_rpc zcbenchmark connectblockslow 1 + hush_rpc zcbenchmark connectblockslow 1 ;; sendtoaddress) - zcash_rpc zcbenchmark sendtoaddress 1 "${@:4}" + hush_rpc zcbenchmark sendtoaddress 1 "${@:4}" ;; loadwallet) # The initial load is sufficient for measurement @@ -262,32 +267,32 @@ case "$1" in hushd_valgrind_start case "$2" in sleep) - zcash_rpc zcbenchmark sleep 1 + hush_rpc zcbenchmark sleep 1 ;; parameterloading) - zcash_rpc zcbenchmark parameterloading 1 + hush_rpc zcbenchmark parameterloading 1 ;; createjoinsplit) - zcash_rpc_veryslow zcbenchmark createjoinsplit 1 "${@:3}" + hush_rpc_veryslow zcbenchmark createjoinsplit 1 "${@:3}" ;; verifyjoinsplit) - zcash_rpc zcbenchmark verifyjoinsplit 1 "\"$RAWJOINSPLIT\"" + hush_rpc zcbenchmark verifyjoinsplit 1 "\"$RAWJOINSPLIT\"" ;; solveequihash) - zcash_rpc_veryslow zcbenchmark solveequihash 1 "${@:3}" + hush_rpc_veryslow zcbenchmark solveequihash 1 "${@:3}" ;; verifyequihash) - zcash_rpc zcbenchmark verifyequihash 1 + hush_rpc zcbenchmark verifyequihash 1 ;; trydecryptnotes) - zcash_rpc zcbenchmark trydecryptnotes 1 "${@:3}" + hush_rpc zcbenchmark trydecryptnotes 1 "${@:3}" ;; incnotewitnesses) - zcash_rpc zcbenchmark incnotewitnesses 1 "${@:3}" + hush_rpc zcbenchmark incnotewitnesses 1 "${@:3}" ;; connectblockslow) extract_benchmark_data - zcash_rpc zcbenchmark connectblockslow 1 + hush_rpc zcbenchmark connectblockslow 1 ;; *) hushd_valgrind_stop