From 2feb1884c545a51906054fe625585daa2fb507d6 Mon Sep 17 00:00:00 2001 From: Zhou Zitang <1939566992@qq.com> Date: Sun, 10 Jul 2022 21:50:36 +0800 Subject: [PATCH] test/microbench: Add shared microbench.h Signed-off-by: Zhou Zitang <1939566992@qq.com> --- test/microbench/Makefile | 15 +++++++++------ test/microbench/test/aarch64.cc | 10 +--------- test/microbench/test/armv7l.cc | 10 +--------- test/microbench/test/loongarch64.cc | 10 +--------- test/microbench/test/microbench.h | 10 ++++++++++ test/microbench/test/mips64.cc | 10 +--------- test/microbench/test/riscv64.cc | 10 +--------- test/microbench/test/x86_64.cc | 10 +--------- 8 files changed, 25 insertions(+), 60 deletions(-) create mode 100644 test/microbench/test/microbench.h diff --git a/test/microbench/Makefile b/test/microbench/Makefile index 37ef0d4..eeef939 100644 --- a/test/microbench/Makefile +++ b/test/microbench/Makefile @@ -74,9 +74,9 @@ ifeq ($(ARCH),loongarch64) product := $$(cat /sys/class/dmi/id/product_name | cut -d ' ' -f1) endif -ifneq ($(wildcard benchmark/test/$(TEST_BIN).cc),) - ifeq ($(shell grep "define OPTIMIZE_LEVEL $(OPTIMIZE_LEVEL)" benchmark/test/$(TEST_BIN).cc),) - dummy := $(shell sed -i -e "s/define OPTIMIZE_LEVEL.*/define OPTIMIZE_LEVEL $(OPTIMIZE_LEVEL)/g" benchmark/test/$(TEST_BIN).cc) +ifneq ($(wildcard benchmark/test/microbench.h),) + ifeq ($(shell grep "define OPTIMIZE_LEVEL $(OPTIMIZE_LEVEL)" benchmark/test/microbench.h),) + dummy := $(shell sed -i -e "s/define OPTIMIZE_LEVEL.*/define OPTIMIZE_LEVEL $(OPTIMIZE_LEVEL)/g" benchmark/test/microbench.h) endif endif @@ -142,7 +142,7 @@ benchmark/build/test/$(TEST_BIN): benchmark/build/third_party/googletest/src ben cd benchmark && cmake $(CMAKE_FLAGS) -S . -B "build" cd benchmark && cmake --build "build" --config Release --target $(TEST_BIN) -benchmark/test/$(TEST_BIN).dep: benchmark/test/$(TEST_BIN).cc benchmark/test/common.cc +benchmark/test/$(TEST_BIN).dep: benchmark/test/$(TEST_BIN).cc benchmark/test/common.cc benchmark/test/microbench.h cd benchmark && \ git checkout -- $(BENCHMARK_CMAKELIST) && \ sed -i -e "/compile_benchmark_test(basic_test)/icompile_benchmark_test($(TEST_BIN))" $(BENCHMARK_CMAKELIST) && \ @@ -151,12 +151,15 @@ benchmark/test/$(TEST_BIN).dep: benchmark/test/$(TEST_BIN).cc benchmark/test/com benchmark/test/$(TEST_BIN).cc: test/$(TEST_BIN).cc cd benchmark/test && cp ../../test/$(TEST_BIN).cc $(TEST_BIN).cc - grep "define OPTIMIZE_LEVEL $(OPTIMIZE_LEVEL)" benchmark/test/$(TEST_BIN).cc || \ - sed -i -e "s/define OPTIMIZE_LEVEL.*/define OPTIMIZE_LEVEL $(OPTIMIZE_LEVEL)/g" $@ benchmark/test/common.cc: test/common.cc cd benchmark/test && cp ../../test/common.cc common.cc +benchmark/test/microbench.h: test/microbench.h + cd benchmark/test && cp ../../test/microbench.h microbench.h + grep "define OPTIMIZE_LEVEL $(OPTIMIZE_LEVEL)" $@ || \ + sed -i -e "s/define OPTIMIZE_LEVEL.*/define OPTIMIZE_LEVEL $(OPTIMIZE_LEVEL)/g" $@ + benchmark/src: git clone $(BENCHMARK_MIRROR) diff --git a/test/microbench/test/aarch64.cc b/test/microbench/test/aarch64.cc index cfc0afd..80920de 100644 --- a/test/microbench/test/aarch64.cc +++ b/test/microbench/test/aarch64.cc @@ -6,15 +6,7 @@ // X86_64 ISA: https://www.aldeid.com/wiki/X86-assembly/Instructions -#include "benchmark/benchmark.h" - -#define OPTIMIZE_LEVEL 1 - -#if defined(OPTIMIZE_LEVEL) && (OPTIMIZE_LEVEL == 0) -#define benchmark_DoNotOptimize() benchmark::DoNotOptimize(state.iterations()); -#else -#define benchmark_DoNotOptimize() do { } while(0) -#endif +#include "mirobench.h" volatile int enabled; diff --git a/test/microbench/test/armv7l.cc b/test/microbench/test/armv7l.cc index 48fd23b..ffd2fd9 100644 --- a/test/microbench/test/armv7l.cc +++ b/test/microbench/test/armv7l.cc @@ -6,15 +6,7 @@ // X86_64 ISA: https://www.aldeid.com/wiki/X86-assembly/Instructions -#include "benchmark/benchmark.h" - -#define OPTIMIZE_LEVEL 1 - -#if defined(OPTIMIZE_LEVEL) && (OPTIMIZE_LEVEL == 0) -#define benchmark_DoNotOptimize() benchmark::DoNotOptimize(state.iterations()); -#else -#define benchmark_DoNotOptimize() do { } while(0) -#endif +#include "mirobench.h" volatile int enabled; diff --git a/test/microbench/test/loongarch64.cc b/test/microbench/test/loongarch64.cc index 186ea27..f388ab2 100644 --- a/test/microbench/test/loongarch64.cc +++ b/test/microbench/test/loongarch64.cc @@ -7,15 +7,7 @@ // X86_64 ISA: https://www.aldeid.com/wiki/X86-assembly/Instructions -#include "benchmark/benchmark.h" - -#define OPTIMIZE_LEVEL 1 - -#if defined(OPTIMIZE_LEVEL) && (OPTIMIZE_LEVEL == 0) -#define benchmark_DoNotOptimize() benchmark::DoNotOptimize(state.iterations()); -#else -#define benchmark_DoNotOptimize() do { } while(0) -#endif +#include "microbench.h" volatile int enabled; diff --git a/test/microbench/test/microbench.h b/test/microbench/test/microbench.h new file mode 100644 index 0000000..512f0cd --- /dev/null +++ b/test/microbench/test/microbench.h @@ -0,0 +1,10 @@ +#include "benchmark/benchmark.h" +#define OPTIMIZE_LEVEL 1 + +#if defined(OPTIMIZE_LEVEL) && (OPTIMIZE_LEVEL == 0) +#define benchmark_DoNotOptimize() benchmark::DoNotOptimize(state.iterations()) +#define benchmark_DoNotOptimize_Arg(x) benchmark::DoNotOptimize(x) +#else +#define benchmark_DoNotOptimize() do { } while(0) +#define benchmark_DoNotOptimize_Arg(x) do { (void)x; } while(0) +#endif diff --git a/test/microbench/test/mips64.cc b/test/microbench/test/mips64.cc index c1075e6..4e06b6e 100644 --- a/test/microbench/test/mips64.cc +++ b/test/microbench/test/mips64.cc @@ -7,15 +7,7 @@ // X86_64 ISA: https://www.aldeid.com/wiki/X86-assembly/Instructions -#include "benchmark/benchmark.h" - -#define OPTIMIZE_LEVEL 1 - -#if defined(OPTIMIZE_LEVEL) && (OPTIMIZE_LEVEL == 0) -#define benchmark_DoNotOptimize() benchmark::DoNotOptimize(state.iterations()); -#else -#define benchmark_DoNotOptimize() do { } while(0) -#endif +#include "microbench.h" volatile int enabled; diff --git a/test/microbench/test/riscv64.cc b/test/microbench/test/riscv64.cc index 53ba4bd..f14df11 100644 --- a/test/microbench/test/riscv64.cc +++ b/test/microbench/test/riscv64.cc @@ -6,15 +6,7 @@ // X86_64 ISA: https://www.aldeid.com/wiki/X86-assembly/Instructions -#include "benchmark/benchmark.h" - -#define OPTIMIZE_LEVEL 1 - -#if defined(OPTIMIZE_LEVEL) && (OPTIMIZE_LEVEL == 0) -#define benchmark_DoNotOptimize() benchmark::DoNotOptimize(state.iterations()); -#else -#define benchmark_DoNotOptimize() do { } while(0) -#endif +#include "microbench.h" volatile int enabled; diff --git a/test/microbench/test/x86_64.cc b/test/microbench/test/x86_64.cc index 6441b6e..877ef44 100644 --- a/test/microbench/test/x86_64.cc +++ b/test/microbench/test/x86_64.cc @@ -6,15 +6,7 @@ // X86_64 ISA: https://www.aldeid.com/wiki/X86-assembly/Instructions -#include "benchmark/benchmark.h" - -#define OPTIMIZE_LEVEL 1 - -#if defined(OPTIMIZE_LEVEL) && (OPTIMIZE_LEVEL == 0) -#define benchmark_DoNotOptimize() benchmark::DoNotOptimize(state.iterations()); -#else -#define benchmark_DoNotOptimize() do { } while(0) -#endif +#include "microbench.h" volatile int enabled; -- Gitee