--- /dev/null
+#!/bin/sh
+
+for arg in $@; do
+ if [ "x$arg" = "x--help" ]; then
+ echo "Usage: $0 [OPTION]... [ITERATIONS] [TESTGROUP]..."
+ echo ""
+ echo "Works the same as test-eglib or test-glib with the following"
+ echo "exception. Run test-eglib --help for details on normal testing"
+ echo ""
+ echo "If the first OPTION is --speed-compare, the following is"
+ echo "applicable to this program:"
+ echo ""
+ echo " --speed-compare run drivers in -qtni mode and report"
+ echo " speed comparison information"
+ echo ""
+ echo "After --speed-compare, the number of iterations "
+ echo "(optional, default is 100000) can be specified, followed "
+ echo "by specific tests to run (or none to run all)"
+ echo ""
+ echo "If --speed-compare is not the first argument, all arguments are"
+ echo "passed on directly to each driver"
+ echo ""
+ exit 1
+ fi
+done
+
+if [ ! -x "./test-glib" -o ! -x "./test-eglib" ]; then
+ make
+fi
+
+if [ "x$1" = "x--speed-compare" ]; then
+ ITERATIONS=100000
+ if [ ! -z "$2" ]; then
+ case $2 in
+ *[0-9]*) ITERATIONS=$2; break;
+ esac
+ fi
+
+ OPTIONS="-qnti $ITERATIONS"
+
+ for arg in $@; do
+ if [ "x$arg" = "x--speed-compare" ]; then
+ continue;
+ elif [ "$arg" = "$ITERATIONS" ]; then
+ continue;
+ fi
+
+ OPTIONS="$OPTIONS $arg"
+ done
+
+ echo "Running tests with $OPTIONS..."
+
+ GLIB=`./test-glib $OPTIONS`
+ EGLIB=`./test-eglib $OPTIONS`
+
+ # this blows
+ FASTER_NAME=`echo "$GLIB GLib $EGLIB EGlib" | awk '{ if($1 < $3) print $2; else print $4 }'`
+ FASTER_SPEED=`echo "$GLIB $EGLIB" | awk '{ if($1 < $2) print $1; else print $2 }'`
+ SLOWER_NAME=`echo "$GLIB GLib $EGLIB EGlib" | awk '{ if($1 > $3) print $2; else print $4 }'`
+ SLOWER_SPEED=`echo "$GLIB $EGLIB" | awk '{ if($1 > $2) print $1; else print $2 }'`
+
+ FASTER_PERCENTAGE=`echo "$SLOWER_SPEED $FASTER_SPEED" | awk '{ print ($1 / $2) * 100 }'`
+
+ echo "$FASTER_NAME $FASTER_SPEED"
+ echo "$SLOWER_NAME $SLOWER_SPEED"
+ echo "------------------------------------------------"
+ echo "$FASTER_NAME is $FASTER_PERCENTAGE% faster than $SLOWER_NAME"
+
+ exit 0;
+fi
+
+./test-eglib $@
+./test-glib $@
+