summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--flacdec/flacdec.c2
-rwxr-xr-xflacdec/test-profile.sh14
2 files changed, 15 insertions, 1 deletions
diff --git a/flacdec/flacdec.c b/flacdec/flacdec.c
index e148c23..ce1cab4 100644
--- a/flacdec/flacdec.c
+++ b/flacdec/flacdec.c
@@ -35,7 +35,7 @@
#define DIE(...) do { fprintf(stderr, __VA_ARGS__); abort(); } while (0)
-#if 1
+#ifndef NO_SPEW
# define SPEW(...) do { fprintf(stderr, __VA_ARGS__); } while (0)
#else
# define SPEW(...)
diff --git a/flacdec/test-profile.sh b/flacdec/test-profile.sh
new file mode 100755
index 0000000..ac47f05
--- /dev/null
+++ b/flacdec/test-profile.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+set -euo pipefail
+
+[ $# -eq 1 ] || { echo "supply a file" >&2; exit 1; }
+
+mkdir -p tmp/bench
+git show HEAD:flacdec/flacdec.c > tmp/bench/base.c
+cc -O3 -DNO_SPEW -o tmp/bench/flacdec_base tmp/bench/base.c
+cc -O3 -DNO_SPEW -o tmp/bench/flacdec_new flacdec.c
+
+hyperfine -N -w 3 -r 20 \
+ -n HEAD "tmp/bench/flacdec_base --dry \"$1\"" \
+ -n STAGED "tmp/bench/flacdec_new --dry \"$1\""
+