1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
#################################################################
#
# A simple script used to rebuild benchmarks using fsc and then run them.
# If you need to rebuild, use:
#
# ./bench <arguments>
#
# Omitting <arguments> will print more information.
# If you don't want to rebuild:
#
# ./bench skip <same-args-as-above>
#
#################################################################
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
|