aboutsummaryrefslogtreecommitdiff
path: root/includes/benchmark.h
diff options
context:
space:
mode:
authorBurt P <pburt0@gmail.com>2017-12-17 08:56:46 -0600
committerLeandro A. F. Pereira <leandro@hardinfo.org>2018-02-27 07:41:51 -0800
commitc8785521f39c3a86454ade890018ca021272c621 (patch)
tree4df2fa40ca918cb26460d07939136bef6a63ef13 /includes/benchmark.h
parent8fb9ed49987ca006495891f04e5250496d6e00f4 (diff)
Benchmark results: store threads used
Benchmark results store actual number of threads used by benchmark when it was run. Previously, results assumed all available threads were used. Examples: * CPU Fib only uses one * FPU FFT uses 4, 2, or 1 * N-Queens uses 10, 5, 2, or 1 Signed-off-by: Burt P <pburt0@gmail.com>
Diffstat (limited to 'includes/benchmark.h')
-rw-r--r--includes/benchmark.h17
1 files changed, 14 insertions, 3 deletions
diff --git a/includes/benchmark.h b/includes/benchmark.h
index 39de042b..975b7197 100644
--- a/includes/benchmark.h
+++ b/includes/benchmark.h
@@ -27,9 +27,20 @@ void benchmark_nqueens(void);
void benchmark_raytrace(void);
void benchmark_zlib(void);
-gdouble benchmark_parallel_for(guint start, guint end,
+typedef struct {
+ double result;
+ double elapsed_time;
+ int threads_used;
+} bench_value;
+
+#define EMPTY_BENCH_VALUE {-1.0f,0,0}
+
+char *bench_value_to_str(bench_value r);
+bench_value bench_value_from_str(const char* str);
+
+bench_value benchmark_parallel_for(gint n_threads, guint start, guint end,
gpointer callback, gpointer callback_data);
-extern gdouble bench_results[BENCHMARK_N_ENTRIES];
+extern bench_value bench_results[BENCHMARK_N_ENTRIES];
-#endif /* __BENCHMARK_H__ */ \ No newline at end of file
+#endif /* __BENCHMARK_H__ */