mirror of
https://github.com/logos-blockchain/logos-execution-zone.git
synced 2026-06-29 18:39:30 +00:00
51 lines
1.6 KiB
Bash
51 lines
1.6 KiB
Bash
|
|
#!/usr/bin/env bash
|
||
|
|
# Runs the PPE aggregation test across a range of fixture counts and prints a results table.
|
||
|
|
#
|
||
|
|
# Usage:
|
||
|
|
# ./bench_ppe_aggregation.sh
|
||
|
|
#
|
||
|
|
# Environment:
|
||
|
|
# PPE_FIXTURES - path to the fixture file (default: ppe_fixtures.bin)
|
||
|
|
# COUNTS - space-separated list of counts to test (default: powers of 2, 1..256)
|
||
|
|
#
|
||
|
|
# Example:
|
||
|
|
# PPE_FIXTURES=/path/to/ppe_fixtures.bin COUNTS="4 8 16" ./bench_ppe_aggregation.sh
|
||
|
|
|
||
|
|
set -euo pipefail
|
||
|
|
|
||
|
|
FIXTURES="$(realpath "${PPE_FIXTURES:-ppe_fixtures.bin}")"
|
||
|
|
COUNTS="${COUNTS:-1 2 4 6 8 10 12 14 16}"
|
||
|
|
|
||
|
|
if [ ! -f "$FIXTURES" ]; then
|
||
|
|
echo "ERROR: fixture file '$FIXTURES' not found."
|
||
|
|
echo "Generate it first:"
|
||
|
|
echo " RISC0_DEV_MODE=1 cargo run --release -p ppe_test_data_gen -- --output $FIXTURES"
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
printf "\n%-6s %14s %20s\n" "n" "proving_ms" "proof_size_bytes"
|
||
|
|
printf "%-6s %14s %20s\n" "------" "--------------" "--------------------"
|
||
|
|
|
||
|
|
for count in $COUNTS; do
|
||
|
|
line=$(
|
||
|
|
PPE_FIXTURES="$FIXTURES" \
|
||
|
|
PPE_FIXTURES_COUNT="$count" \
|
||
|
|
cargo test -p lee aggregate_ppe_proofs_from_fixtures -- --nocapture 2>&1 \
|
||
|
|
| grep -v "^test_programs:" \
|
||
|
|
| grep "\[lee::analytics\] ppe_aggregation" || true
|
||
|
|
)
|
||
|
|
|
||
|
|
if [ -z "$line" ]; then
|
||
|
|
printf "%-6s %14s %20s\n" "$count" "skipped" "-"
|
||
|
|
continue
|
||
|
|
fi
|
||
|
|
|
||
|
|
n=$(echo "$line" | grep -o 'n=[0-9]*' | cut -d= -f2)
|
||
|
|
proving_ms=$(echo "$line" | grep -o 'proving_ms=[0-9]*' | cut -d= -f2)
|
||
|
|
proof_size=$(echo "$line" | grep -o 'proof_size_bytes=[0-9]*'| cut -d= -f2)
|
||
|
|
|
||
|
|
printf "%-6s %14s %20s\n" "$n" "$proving_ms" "$proof_size"
|
||
|
|
done
|
||
|
|
|
||
|
|
printf "\n"
|