Index: doc/papers/OOPSLA17/evaluation/bench.h
===================================================================
--- doc/papers/OOPSLA17/evaluation/bench.h	(revision 90152a4860529aff7214be01cd22abd37012cd19)
+++ doc/papers/OOPSLA17/evaluation/bench.h	(revision 90152a4860529aff7214be01cd22abd37012cd19)
@@ -0,0 +1,15 @@
+#pragma once
+#include <stdio.h>
+#include <time.h>
+
+long ms_between(clock_t start, clock_t end) { return (end - start) / (CLOCKS_PER_SEC / 1000); }
+
+#define N 40000000
+#define TIMED(name, code) { \
+	volatile clock_t _start, _end; \
+	_start = clock(); \
+	code \
+	_end = clock(); \
+	printf("%s:\t%8ld ms\n", name, ms_between(_start, _end)); \
+}
+#define REPEAT_TIMED(name, n, code) TIMED( name, for (int _i = 0; _i < n; ++_i) { code } )
