summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile8
-rwxr-xr-xperf-tests.sh31
2 files changed, 22 insertions, 17 deletions
diff --git a/Makefile b/Makefile
index 2c85d57..09eb1ad 100644
--- a/Makefile
+++ b/Makefile
@@ -20,6 +20,7 @@
# * -DUPB_UNALIGNED_READS_OK: makes code smaller, but not standard compliant
.PHONY: all lib clean tests test benchmarks benchmark descriptorgen
+.PHONY: clean_leave_profile
# Default rule: just build libupb.
all: lib
@@ -110,9 +111,9 @@ ALLSRC=$(CORE) $(STREAM) $(BENCHMARKS_SRC) $(TESTS_SRC)
# Rules. #######################################################################
-clean:
+clean_leave_profile:
rm -rf $(LIBUPB) $(LIBUPB_PIC)
- rm -rf $(call rwildcard,,*.o) $(call rwildcard,,*.lo) $(call rwildcard,,*.gcno) $(call rwildcard,,*.dSYM)
+ rm -rf $(call rwildcard,,*.o) $(call rwildcard,,*.lo) $(call rwildcard,,*.dSYM)
rm -rf benchmark/google_messages.proto.pb benchmark/google_messages.pb.* benchmarks/b.* benchmarks/*.pb*
rm -rf $(TESTS) tests/t.*
rm -rf src/descriptor.pb
@@ -120,6 +121,9 @@ clean:
rm -rf lang_ext/lua/upb.so
cd lang_ext/python && python setup.py clean --all
+clean: clean_leave_profile
+ rm -rf $(call rwildcard,,*.gcno) $(call rwildcard,,*.gcda)
+
# Core library (libupb.a).
SRC=$(CORE) $(STREAM)
LIBUPB=src/libupb.a
diff --git a/perf-tests.sh b/perf-tests.sh
index 003f866..8630182 100755
--- a/perf-tests.sh
+++ b/perf-tests.sh
@@ -11,24 +11,25 @@ fi
rm -f perf-tests.out
-if [ x`uname -m` = xx86_64 ]; then
+run_with_flags () {
+ FLAGS=$1
+ NAME=$2
+
make clean
- echo "-DNDEBUG -m32" > perf-cppflags
+ echo "$FLAGS -fprofile-generate" > perf-cppflags
make upb_benchmarks
- make benchmark | sed -e 's/^/plain32./g' | tee -a perf-tests.out
+ make benchmark
- make clean
- echo "-DNDEBUG -fomit-frame-pointer -m32" > perf-cppflags
+ make clean_leave_profile
+ echo "$FLAGS -fprofile-use" > perf-cppflags
make upb_benchmarks
- make benchmark | sed -e 's/^/omitfp32./g' | tee -a perf-tests.out
-fi
+ make benchmark | sed -e "s/^/$NAME./g" | tee -a perf-tests.out
+}
-make clean
-echo "-DNDEBUG" > perf-cppflags
-make $MAKETARGET
-make benchmark | sed -e 's/^/plain./g' | tee -a perf-tests.out
+if [ x`uname -m` = xx86_64 ]; then
+ run_with_flags "-DNDEBUG -m32" "plain32"
+ run_with_flags "-DNDEBUG -fomit-frame-pointer -m32" "omitfp32"
+fi
-make clean
-echo "-DNDEBUG -fomit-frame-pointer" > perf-cppflags
-make $MAKETARGET
-make benchmark | sed -e 's/^/omitfp./g' | tee -a perf-tests.out
+run_with_flags "-DNDEBUG " "plain"
+run_with_flags "-DNDEBUG -fomit-frame-pointer" "omitfp"
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback