Skip to content

Commit da21e36

Browse files
jbachorikclaude
andcommitted
Add --no-record flag to skip perf record and save disk space
perf record data files are huge and not needed for statistical comparison. Add --no-record flag to test script, enabled by default in comparison. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1 parent dbb691f commit da21e36

3 files changed

Lines changed: 25 additions & 14 deletions

File tree

ddprof-lib/benchmarks/branch-prediction/compare_branch_prediction.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,7 @@ main() {
302302

303303
# Temporarily override PROFILER_LIB for baseline test
304304
PROFILER_LIB_OVERRIDE="${BASELINE_LIB}" \
305-
"${baseline_test_script}" "${benchmark}" "baseline" || {
305+
"${baseline_test_script}" "${benchmark}" "baseline" "--no-record" || {
306306
log_error "Baseline test failed"
307307
cleanup
308308
exit 1
@@ -316,7 +316,7 @@ main() {
316316

317317
# Test optimized
318318
log_step "6/6: Testing optimized version..."
319-
"${baseline_test_script}" "${benchmark}" "optimized" || {
319+
"${baseline_test_script}" "${benchmark}" "optimized" "--no-record" || {
320320
log_error "Optimized test failed"
321321
cleanup
322322
exit 1

ddprof-lib/benchmarks/branch-prediction/run_stable_comparison.sh

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,11 +71,13 @@ for i in $(seq 1 ${ITERATIONS}); do
7171
# Run comparison (skip build)
7272
"${COMPARE_SCRIPT}" "${BENCHMARK}" --skip-build
7373

74-
# Save results
74+
# Save results (only stat.txt files to save disk space)
7575
if [ -d perf_results ]; then
7676
mkdir -p "perf_results_run_${i}"
77-
cp -r perf_results/* "perf_results_run_${i}/"
77+
cp perf_results/*_stat.txt "perf_results_run_${i}/" 2>/dev/null || true
7878
log_info "Results saved to perf_results_run_${i}/"
79+
# Clean up perf_results to save disk space
80+
rm -rf perf_results
7981
fi
8082

8183
echo ""

ddprof-lib/benchmarks/branch-prediction/test_branch_prediction_perf.sh

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -269,10 +269,14 @@ trap cleanup EXIT
269269
main() {
270270
local benchmark="${1:-akka-uct}"
271271
local test_name="${2:-likely_test}"
272+
local skip_record="${3:-}"
272273

273274
log_info "=== Branch Prediction Performance Test ==="
274275
log_info "Benchmark: ${benchmark}"
275276
log_info "Test name: ${test_name}"
277+
if [[ "$skip_record" == "--no-record" ]]; then
278+
log_info "Mode: Skip perf record (stat only)"
279+
fi
276280
echo ""
277281

278282
check_prerequisites
@@ -287,8 +291,10 @@ main() {
287291
# Run perf stat
288292
run_perf_stat ${JAVA_PID} "${test_name}_stat.txt"
289293

290-
# Run perf record
291-
run_perf_record ${JAVA_PID} "${test_name}_record.data"
294+
# Optionally run perf record (disabled by default to save disk space)
295+
if [[ "$skip_record" != "--no-record" ]]; then
296+
run_perf_record ${JAVA_PID} "${test_name}_record.data"
297+
fi
292298

293299
# Display results
294300
display_results "${test_name}_stat.txt"
@@ -299,20 +305,23 @@ main() {
299305
log_info "=== Test Complete ==="
300306
log_info "Results available in perf_results/ directory:"
301307
log_info " - ${test_name}_stat.txt: Statistics summary"
302-
log_info " - ${test_name}_record.data: Raw perf data"
303-
log_info " - ${test_name}_record_report.txt: Detailed report"
304-
echo ""
305-
log_info "To view interactive report:"
306-
log_info " perf report -i perf_results/${test_name}_record.data --dsos=libjavaProfiler.so"
308+
if [[ "$skip_record" != "--no-record" ]]; then
309+
log_info " - ${test_name}_record.data: Raw perf data"
310+
log_info " - ${test_name}_record_report.txt: Detailed report"
311+
echo ""
312+
log_info "To view interactive report:"
313+
log_info " perf report -i perf_results/${test_name}_record.data --dsos=libjavaProfiler.so"
314+
fi
307315
}
308316

309317
# Show usage
310318
usage() {
311-
echo "Usage: $0 [benchmark] [test_name]"
319+
echo "Usage: $0 [benchmark] [test_name] [--no-record]"
312320
echo ""
313321
echo "Arguments:"
314-
echo " benchmark Renaissance benchmark to run (default: akka-uct)"
315-
echo " test_name Name for output files (default: likely_test)"
322+
echo " benchmark Renaissance benchmark to run (default: akka-uct)"
323+
echo " test_name Name for output files (default: likely_test)"
324+
echo " --no-record Skip perf record to save disk space (default: run perf record)"
316325
echo ""
317326
echo "Available benchmarks: akka-uct, finagle-chirper, fj-kmeans, future-genetic,"
318327
echo " movie-lens, neo4j-analytics, reactors, scala-kmeans, etc."

0 commit comments

Comments
 (0)