perf-test: add corpus size to output, compact I/O stats
[notmuch] / performance-test / perf-test-lib.sh
index 80ec1eb063cdbadfcea116e691ce6d96435d8cdb..e399d3f551ce6755653be4f1eb9f287bb53ac9ec 100644 (file)
@@ -1,5 +1,30 @@
 . ./version.sh
 
+corpus_size=large
+
+while test "$#" -ne 0
+do
+       case "$1" in
+       -d|--debug)
+               debug=t;
+               shift
+               ;;
+       -s|--small)
+               corpus_size=small;
+               shift
+               ;;
+       -m|--medium)
+               corpus_size=medium;
+               shift
+               ;;
+       -l|--large)
+               corpus_size=large;
+               shift
+               ;;
+       *)
+               echo "error: unknown performance test option '$1'" >&2; exit 1 ;;
+       esac
+done
 . ../test/test-lib-common.sh
 
 set -e
@@ -42,16 +67,18 @@ add_email_corpus ()
 }
 
 print_header () {
-    printf "[v%4s]               Wall(s)\tUsr(s)\tSys(s)\tRes(K)\tIn\tOut\n" \
-          ${PERFTEST_VERSION}
+    printf "[v%4s %6s]        Wall(s)\tUsr(s)\tSys(s)\tRes(K)\tIn/Out(512B)\n" \
+          ${PERFTEST_VERSION} ${corpus_size}
 }
 
 time_run () {
     printf "%-22s" "$1"
     if test "$verbose" != "t"; then exec 4>test.output 3>&4; fi
-    if ! eval >&3 "/usr/bin/time -f '%e\t%U\t%S\t%M\t%I\t%O' $2" ; then
+    if ! eval >&3 "/usr/bin/time -f '%e\t%U\t%S\t%M\t%I/%O' $2" ; then
        test_failure=$(($test_failure + 1))
+       return 1
     fi
+    return 0
 }
 
 time_done () {