#!/bin/bash # input: # $1 : benchmark list filename # $2 : profiled size list filename root_dir=`pwd` rawdata_dir=${root_dir}/rawdata for bench in `cat $1 | cut -f1 | xargs echo` do expt=current bin_name=sablevm-chris-switch-spmt-debug-stats-magic # mem_min=`grep $bench $2 | cut -d' ' -f4` # mem_max=`grep $bench $2 | cut -d' ' -f5` # extra debugging args: # # -g # -j # -s bin_args="-Y --property=sablevm.heap.size.min=268435456 --property=sablevm.heap.size.max=268435456 --property=sablevm.heap.size.increment=0 --property=sablevm.spmt.allocate.objects=true --property=sablevm.spmt.buffer.enabled=true --property=sablevm.spmt.prediction.parameter.dependence=true --property=sablevm.spmt.prediction.return.value.use=true --property=sablevm.spmt.transitive.method.size=true --property=sablevm.spmt.cold.start.threshold=1000000000 --property=sablevm.spmt.marked.stack.limit=1000000000 --property=sablevm.spmt.minimum.sequence.length=1 --property=sablevm.spmt.config.file=/home/2000/cpicke/spmt/benchmarks/libspmt.cfg --property=sablevm.verbose.instructions=true --property=sablevm.verbose.spmt=true --property=sablevm.verbose.prediction=true --property=sablevm.verbose.methods=true --property=sablevm.verbose.exceptions=true --property=sablevm.verbose.synchronization=true --property=sablevm.verbose.exit=true" echo EXPERIMENT ${expt} ${bin_name} ${bin_args} echo bench_dir=`grep $bench $1 | cut -f2` bench_main=`grep $bench $1 | cut -f3` bench_boot=`grep $bench $1 | cut -f4` echo BENCHMARK ${bench} ${bench_dir} ${bench_main} ${bench_boot} cd ${bench_dir} { /usr/bin/time -f 'real %e\nuser %U\nsystem %S\npercent %P' -o ${rawdata_dir}/${expt}_${bench}.time \ ${bin_name} ${bin_args} ${bench_boot} ${bench_main} \ 2>&1 1> ${rawdata_dir}/${expt}_${bench}.out; } | tail -n 100000 1> ${rawdata_dir}/${expt}_${bench}.log cd ${root_dir} done #echo | mail -s "run_expt $1 $2" chris.pickett@mail.mcgill.ca