summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--Makefile.am2
-rw-r--r--benchmark-guile.in48
-rw-r--r--configure.in3
4 files changed, 61 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 1ede0de4c..d5b044ce6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2002-07-20 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * benchmark-guile.in: Copied from check-guile.in and adapted for
+ use with benchmarks.
+
+ * Makefile.am: Recurse into the benchmark-suite subdir.
+
+ * configure.in: Added benchmarking files.
+
2002-07-12 Gary Houston <ghouston@arglist.com>
* configure.in: check dynamic linking before modules. Add dynl.c
diff --git a/Makefile.am b/Makefile.am
index 2b40ebf19..d40a4b2e8 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -22,7 +22,7 @@
AUTOMAKE_OPTIONS = 1.5
SUBDIRS = oop qt libltdl libguile ice-9 guile-config guile-readline \
- scripts srfi doc examples test-suite lang am
+ scripts srfi doc examples test-suite benchmark-suite lang am
bin_SCRIPTS = guile-tools
diff --git a/benchmark-guile.in b/benchmark-guile.in
new file mode 100644
index 000000000..af1ade616
--- /dev/null
+++ b/benchmark-guile.in
@@ -0,0 +1,48 @@
+#! /bin/sh
+# Usage: benchmark-guile [-i GUILE-INTERPRETER] [GUILE-BENCHMARK-ARGS]
+# If `-i GUILE-INTERPRETER' is omitted, use ${top_builddir}/pre-inst-guile.
+# See ${top_srcdir}/benchmark-suite/guile-benchmark for documentation on GUILE-BENCHMARK-ARGS.
+#
+# Example invocations:
+# ./benchmark-guile
+# ./benchmark-guile numbers.bm
+# ./benchmark-guile -i /usr/local/bin/guile
+# ./benchmark-guile -i /usr/local/bin/guile numbers.bm
+
+set -e
+
+top_builddir=@top_builddir_absolute@
+top_srcdir=@top_srcdir_absolute@
+
+BENCHMARK_SUITE_DIR=${top_srcdir}/benchmark-suite
+
+if [ x"$1" = x-i ] ; then
+ guile=$2
+ shift
+ shift
+else
+ guile=${top_builddir}/pre-inst-guile
+fi
+
+GUILE_LOAD_PATH=$BENCHMARK_SUITE_DIR
+export GUILE_LOAD_PATH
+
+if [ -f "$guile" -a -x "$guile" ] ; then
+ echo Benchmarking $guile ... "$@"
+ echo with GUILE_LOAD_PATH=$GUILE_LOAD_PATH
+else
+ echo ERROR: Cannot execute $guile
+ exit 1
+fi
+
+# documentation searching ignores GUILE_LOAD_PATH.
+if [ ! -f guile-procedures.txt ] ; then
+ @LN_S@ libguile/guile-procedures.txt .
+fi
+
+exec $guile \
+ -e main -s "$BENCHMARK_SUITE_DIR/guile-benchmark" \
+ --benchmark-suite "$BENCHMARK_SUITE_DIR/benchmarks" \
+ --log-file benchmark-guile.log "$@"
+
+# benchmark-guile ends here
diff --git a/configure.in b/configure.in
index 3c554ee5c..e052141cc 100644
--- a/configure.in
+++ b/configure.in
@@ -840,6 +840,8 @@ AC_CONFIG_FILES([
examples/safe/Makefile
test-suite/Makefile
check-guile
+ benchmark-suite/Makefile
+ benchmark-guile
guile-tools
pre-inst-guile])
@@ -849,6 +851,7 @@ AC_CONFIG_COMMANDS(default,
libguile/guile-func-name-check \
libguile/guile-snarf-docs \
check-guile \
+ benchmark-guile \
guile-tools \
pre-inst-guile])