#!/bin/sh # set -x #!/bin/sh # set -x if [ $# -lt 1 ]; then echo "usage: perf_run iterations options [conf-name]" echo "example: perf_run 100 \"-bm=default -log\" pdata" exit 1 fi BINDIR=`dirname $0` export RAILS_PERF_DATA="log/benchmarks" test -z "$RAILS_PERF_DATA" && RAILS_PERF_DATA=$HOME ITER="$1" OPT="$2" BENCHMARK="" for opt in $OPT; do case $opt in -bm=*) BENCHMARK=${opt#-bm=};; esac done DATE=`date +%m-%d` if [ $# == 3 ]; then RAILS_BENCHMARK_FILE="$RAILS_PERF_DATA/${DATE}.${BENCHMARK}.$3.txt" else RAILS_BENCHMARK_FILE="$RAILS_PERF_DATA/perf_run.${BENCHMARK}.txt" fi export RAILS_BENCHMARK_FILE unset RUBY_GC_STATS PERF_OPTIONS="$ITER $OPT" $BINDIR/perf_loop $PERF_OPTIONS && ruby $BINDIR/perf_times $RAILS_BENCHMARK_FILE