mirror of
https://github.com/aykhans/sarin.git
synced 2026-02-28 14:59:14 +00:00
Add e2e tests
This commit is contained in:
65
benchmark.sh
Executable file
65
benchmark.sh
Executable file
@@ -0,0 +1,65 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
RUNS=20
|
||||
CMD="go run ./cmd/cli -U http://localhost:80 -r 1_000_000 -c 100"
|
||||
|
||||
declare -a times_default
|
||||
declare -a times_gogcoff
|
||||
|
||||
echo "===== Benchmark: default GC ====="
|
||||
for i in $(seq 1 $RUNS); do
|
||||
echo "Run $i/$RUNS ..."
|
||||
start=$(date +%s%N)
|
||||
$CMD
|
||||
end=$(date +%s%N)
|
||||
elapsed=$(( (end - start) / 1000000 )) # milliseconds
|
||||
times_default+=("$elapsed")
|
||||
echo " -> ${elapsed} ms"
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "===== Benchmark: GOGC=off ====="
|
||||
for i in $(seq 1 $RUNS); do
|
||||
echo "Run $i/$RUNS ..."
|
||||
start=$(date +%s%N)
|
||||
GOGC=off $CMD
|
||||
end=$(date +%s%N)
|
||||
elapsed=$(( (end - start) / 1000000 ))
|
||||
times_gogcoff+=("$elapsed")
|
||||
echo " -> ${elapsed} ms"
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "============================================"
|
||||
echo " RESULTS"
|
||||
echo "============================================"
|
||||
|
||||
echo ""
|
||||
echo "--- Default GC ---"
|
||||
sum=0
|
||||
for i in $(seq 0 $((RUNS - 1))); do
|
||||
echo " Run $((i + 1)): ${times_default[$i]} ms"
|
||||
sum=$((sum + times_default[$i]))
|
||||
done
|
||||
avg_default=$((sum / RUNS))
|
||||
echo " Average: ${avg_default} ms"
|
||||
|
||||
echo ""
|
||||
echo "--- GOGC=off ---"
|
||||
sum=0
|
||||
for i in $(seq 0 $((RUNS - 1))); do
|
||||
echo " Run $((i + 1)): ${times_gogcoff[$i]} ms"
|
||||
sum=$((sum + times_gogcoff[$i]))
|
||||
done
|
||||
avg_gogcoff=$((sum / RUNS))
|
||||
echo " Average: ${avg_gogcoff} ms"
|
||||
|
||||
echo ""
|
||||
echo "--- Comparison ---"
|
||||
if [ "$avg_default" -gt 0 ]; then
|
||||
diff=$((avg_default - avg_gogcoff))
|
||||
echo " Difference: ${diff} ms (positive = GOGC=off is faster)"
|
||||
fi
|
||||
echo "============================================"
|
||||
Reference in New Issue
Block a user