Index: src/examples/Makefile.am
===================================================================
--- src/examples/Makefile.am	(revision 550a3385540fe0c2834b682893eb6e8280c52af1)
+++ src/examples/Makefile.am	(revision 12d44bb50e421e4b80a13cc51c61fa34c604e6d3)
@@ -16,9 +16,18 @@
 
 # applies to both programs
-CFLAGS = -g -Wall -Wno-unused-function # TEMPORARY: does not build with -O2
+CFLAGS =
+AM_CFLAGS = -g -Wall -Wno-unused-function -O2
 CC = @CFA_BINDIR@/cfa
 
-noinst_PROGRAMS = fstream_test vector_test avl_test # build but do not install
+noinst_PROGRAMS = fstream_test vector_test avl_test Bench # build but do not install
 fstream_test_SOURCES = fstream_test.c
 vector_test_SOURCES = vector_int.c array.c vector_test.c
 avl_test_SOURCES = avltree/avl_test.c avltree/avl0.c avltree/avl1.c avltree/avl2.c avltree/avl3.c avltree/avl4.c avltree/avl-private.c
+
+Bench : Bench.c
+	@for ccflags in "-debug" "-nodebug"; do \
+		echo ${CC} ${AM_CFLAGS} ${CFLAGS} $${ccflags} -lrt Bench.c;\
+		${CC} ${AM_CFLAGS} ${CFLAGS} $${ccflags} -lrt Bench.c;\
+		./a.out ; \
+	done ; \
+	rm -f ./a.out ;
Index: src/examples/Makefile.in
===================================================================
--- src/examples/Makefile.in	(revision 550a3385540fe0c2834b682893eb6e8280c52af1)
+++ src/examples/Makefile.in	(revision 12d44bb50e421e4b80a13cc51c61fa34c604e6d3)
@@ -39,5 +39,5 @@
 host_triplet = @host@
 noinst_PROGRAMS = fstream_test$(EXEEXT) vector_test$(EXEEXT) \
-	avl_test$(EXEEXT)
+	avl_test$(EXEEXT) Bench$(EXEEXT)
 subdir = src/examples
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
@@ -51,4 +51,7 @@
 CONFIG_CLEAN_VPATH_FILES =
 PROGRAMS = $(noinst_PROGRAMS)
+Bench_SOURCES = Bench.c
+Bench_OBJECTS = Bench.$(OBJEXT)
+Bench_LDADD = $(LDADD)
 am_avl_test_OBJECTS = avl_test.$(OBJEXT) avl0.$(OBJEXT) avl1.$(OBJEXT) \
 	avl2.$(OBJEXT) avl3.$(OBJEXT) avl4.$(OBJEXT) \
@@ -86,7 +89,7 @@
 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
-SOURCES = $(avl_test_SOURCES) $(fstream_test_SOURCES) \
+SOURCES = Bench.c $(avl_test_SOURCES) $(fstream_test_SOURCES) \
 	$(vector_test_SOURCES)
-DIST_SOURCES = $(avl_test_SOURCES) $(fstream_test_SOURCES) \
+DIST_SOURCES = Bench.c $(avl_test_SOURCES) $(fstream_test_SOURCES) \
 	$(vector_test_SOURCES)
 ETAGS = etags
@@ -115,5 +118,5 @@
 
 # applies to both programs
-CFLAGS = -g -Wall -Wno-unused-function # TEMPORARY: does not build with -O2
+CFLAGS = 
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
@@ -213,4 +216,5 @@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
+AM_CFLAGS = -g -Wall -Wno-unused-function -O2
 fstream_test_SOURCES = fstream_test.c
 vector_test_SOURCES = vector_int.c array.c vector_test.c
@@ -269,4 +273,5 @@
 	-rm -f *.tab.c
 
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Bench.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/array.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/avl-private.Po@am__quote@
@@ -594,4 +599,12 @@
 
 
+Bench : Bench.c
+	@for ccflags in "-debug" "-nodebug"; do \
+		echo ${CC} ${AM_CFLAGS} ${CFLAGS} $${ccflags} -lrt Bench.c;\
+		${CC} ${AM_CFLAGS} ${CFLAGS} $${ccflags} -lrt Bench.c;\
+		./a.out ; \
+	done ; \
+	rm -f ./a.out ;
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
