| # PP-OCRv6 Android Speed Benchmark | |
| # Usage: JAVA_HOME=/opt/android-jdk ./run_benchmark.sh [iterations] [warmup] | |
| # e.g. JAVA_HOME=/opt/android-jdk ./run_benchmark.sh 20 5 | |
| # defaults: 10 iterations, 3 warmup | |
| set -e | |
| SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" | |
| cd "$SCRIPT_DIR" | |
| ITERATIONS="${1:-50}" | |
| WARMUP="${2:-30}" | |
| echo "========================================" | |
| echo " PP-OCRv6 Android Speed Benchmark" | |
| echo "========================================" | |
| echo " Warmup: ${WARMUP}" | |
| echo " Iterations: ${ITERATIONS}" | |
| echo "========================================" | |
| echo "" | |
| adb logcat -c 2>/dev/null || true | |
| echo "[1/2] Running speed benchmark (warmup + ${ITERATIONS} measured iterations)..." | |
| echo "----------------------------------------" | |
| ./gradlew :ppocr-sdk:connectedAndroidTest \ | |
| -Pandroid.testInstrumentationRunnerArguments.class=com.paddle.ocr.benchmark.OCRBenchmarkTest#testLatencyBenchmark \ | |
| -Pandroid.testInstrumentationRunnerArguments.warmup="${WARMUP}" \ | |
| -Pandroid.testInstrumentationRunnerArguments.iterations="${ITERATIONS}" \ | |
| 2>&1 | |
| echo "----------------------------------------" | |
| echo "" | |
| echo "[2/2] Speed benchmark results:" | |
| echo "========================================" | |
| adb logcat -d -s System.out:I 2>/dev/null | grep "OCRBenchmark" | sed 's/^.*System.out/I/' | |
| echo "========================================" | |
| echo "" | |
| echo " Done" | |