summaryrefslogtreecommitdiff
path: root/test/benchmarks/bench
diff options
context:
space:
mode:
Diffstat (limited to 'test/benchmarks/bench')
-rwxr-xr-xtest/benchmarks/bench57
1 files changed, 57 insertions, 0 deletions
diff --git a/test/benchmarks/bench b/test/benchmarks/bench
new file mode 100755
index 0000000000..b441b283f8
--- /dev/null
+++ b/test/benchmarks/bench
@@ -0,0 +1,57 @@
+
+#################################################################
+#
+# 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
+SCALA_BUILD_DIR=../../build/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
+
+ # 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
+
+
+