################################################################# # # A simple script used to rebuild benchmarks using fsc and then run them. # If you need to rebuild, use: # # ./bench # # Omitting will print more information. # If you don't want to rebuild: # # ./bench skip # ################################################################# TOP_DIR=$PWD # build/pack for ant, target/pack for sbt SCALA_BUILD_DIR=../../target/pack SRC_DIR=src/ TARGET_DIR=target CLASS_DIR=$TARGET_DIR/classes FSC=$SCALA_BUILD_DIR/bin/fsc SCALA_LIBS_PATH=$SCALA_BUILD_DIR/lib CLASSPATH=$SCALA_LIBS_PATH/scala-library.jar:lib/jsr166_and_extra.jar ARTIFACT=benchmarks.jar ARTIFACT_PATH=$TARGET_DIR/$ARTIFACT if [ "$1" != "skip" ] then # fetch source file list find $SRC_DIR -name *.scala -print > source.list # recompile with fsc $FSC -cp $CLASSPATH -d $CLASS_DIR @source.list # copy files cd $SRC_DIR cp -r * ../$CLASS_DIR cd .. # jar it up rm $ARTIFACT_PATH cd $CLASS_DIR jar cf $ARTIFACT . mv $ARTIFACT $TOP_DIR/$ARTIFACT_PATH cd $TOP_DIR fi # run a benchmark RUNCOMMAND="java -Xms256m -Xmx512m -server -cp $CLASSPATH:$ARTIFACT_PATH scala.collection.parallel.Benchmarking " if [ "$1" != skip ] then $RUNCOMMAND "$@" else $RUNCOMMAND $2 $3 $4 $5 $6 $7 $8 fi