summaryrefslogtreecommitdiff
path: root/source/test/unittests
diff options
context:
space:
mode:
authorMitya Selivanov <automainint@guattari.tech>2023-03-26 18:55:32 +0200
committerMitya Selivanov <automainint@guattari.tech>2023-03-26 18:55:32 +0200
commitb17726fe51a1c7c1eccaef2e90cbab7ee022557f (patch)
tree35592b87b30feacbdf12819b808679d6d4b51057 /source/test/unittests
parent6b911aca700eebcbff4e7369b117731a8f3e2a71 (diff)
downloadkit-b17726fe51a1c7c1eccaef2e90cbab7ee022557f.zip
[benchmarks] DO_NOT_OPTIMIZE macro
Diffstat (limited to 'source/test/unittests')
-rw-r--r--source/test/unittests/foo.bench.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/source/test/unittests/foo.bench.c b/source/test/unittests/foo.bench.c
index 531f1d8..a3d5c18 100644
--- a/source/test/unittests/foo.bench.c
+++ b/source/test/unittests/foo.bench.c
@@ -1,11 +1,23 @@
#define KIT_BENCH_FILE foo
#include "../../kit_test/bench.h"
+struct test_foo_ {
+ double f;
+};
+
BENCHMARK("foo") {
BENCHMARK_BEGIN;
{
- volatile int x = 0;
- for (int i = 0; i < 200000; i++) x++;
+ int x = 0;
+ struct test_foo_ f = { 0. };
+
+ for (int i = 0; i < 100000; i++) {
+ x += (1 << 1);
+ x ^= i;
+ f.f += 0.1;
+ }
+ DO_NOT_OPTIMIZE(x);
+ DO_NOT_OPTIMIZE(f);
}
BENCHMARK_END;
}