#!/usr/bin/env bash set -e WRK="wrk -t 16 -d 5 --timeout 5" function block_quote() { echo "\`\`\`" $* echo "\`\`\`" } cargo build --release echo "Running webserver on port :3030" ./target/release/warptest & PID=$! echo "PID ${PID:?}" { curl -s 'http://localhost:3030/info' echo "" }> README.md echo "# Benchmark results" >> README.md for CONNECTIONS in 16 32 64 128; do SLEEP_CMD="${WRK:?} -c ${CONNECTIONS} http://localhost:3030/sleep/1" { echo "## Sleep:" echo "### \`${SLEEP_CMD:?}\`" echo "" block_quote ${SLEEP_CMD:?} echo "" } >> README.md done SPIN_CMD="${WRK:?} -c 16 http://localhost:3030/spin/1" { echo "## Spin:" echo "### \`${SPIN_CMD:?}\`" echo "" block_quote ${SPIN_CMD:?} echo "" } >> README.md echo "Killing webserver" kill ${PID:?}