summaryrefslogtreecommitdiff
path: root/hardinfo2/benchmark.c
diff options
context:
space:
mode:
authorLeandro A. F. Pereira <leandro@hardinfo.org>2009-03-08 17:21:08 -0300
committerLeandro A. F. Pereira <leandro@hardinfo.org>2009-03-08 17:21:08 -0300
commit2618d2516b55f2e89cf076428a1b9b0428877b89 (patch)
treefed73b6b9db0c8e02ba7f0bed714787a1729f1e7 /hardinfo2/benchmark.c
parent088f59d46f6dd2ef940bc704f4e7c2b4fd95eee4 (diff)
Add FFT benchmark
Diffstat (limited to 'hardinfo2/benchmark.c')
-rw-r--r--hardinfo2/benchmark.c24
1 files changed, 21 insertions, 3 deletions
diff --git a/hardinfo2/benchmark.c b/hardinfo2/benchmark.c
index d03ce531..f115afe5 100644
--- a/hardinfo2/benchmark.c
+++ b/hardinfo2/benchmark.c
@@ -26,6 +26,7 @@
#include <sys/resource.h>
enum {
+ BENCHMARK_FFT,
BENCHMARK_FIB,
BENCHMARK_CRYPTOHASH,
BENCHMARK_BLOWFISH,
@@ -34,12 +35,14 @@ enum {
BENCHMARK_N_ENTRIES
} Entries;
+void scan_fft(gboolean reload);
void scan_raytr(gboolean reload);
void scan_bfsh(gboolean reload);
void scan_cryptohash(gboolean reload);
void scan_fib(gboolean reload);
void scan_nqueens(gboolean reload);
+gchar *callback_fft();
gchar *callback_raytr();
gchar *callback_bfsh();
gchar *callback_fib();
@@ -47,10 +50,11 @@ gchar *callback_cryptohash();
gchar *callback_nqueens();
static ModuleEntry entries[] = {
- {"CPU Fibonacci", "nautilus.png", callback_fib, scan_fib},
- {"CPU CryptoHash", "cryptohash.png", callback_cryptohash, scan_cryptohash},
{"CPU Blowfish", "blowfish.png", callback_bfsh, scan_bfsh},
+ {"CPU CryptoHash", "cryptohash.png", callback_cryptohash, scan_cryptohash},
+ {"CPU Fibonacci", "nautilus.png", callback_fib, scan_fib},
{"CPU N-Queens", "nqueens.png", callback_nqueens, scan_nqueens},
+ {"FPU FFT", "fft.png", callback_fft, scan_fft},
{"FPU Raytracing", "raytrace.png", callback_raytr, scan_raytr},
{NULL}
};
@@ -118,7 +122,7 @@ gdouble benchmark_parallel_for(guint start, guint end,
DEBUG("launching thread %d", 1 + (iter / iter_per_core));
pbt->start = iter == 0 ? 0 : iter + 1;
- pbt->end = iter + iter_per_core;
+ pbt->end = iter + iter_per_core - 1;
pbt->data = callback_data;
pbt->callback = callback;
@@ -222,6 +226,13 @@ static gdouble bench_results[BENCHMARK_N_ENTRIES];
#include <arch/common/blowfish.h>
#include <arch/common/raytrace.h>
#include <arch/common/nqueens.h>
+#include <arch/common/fft.h>
+
+gchar *callback_fft()
+{
+ return benchmark_include_results(bench_results[BENCHMARK_FFT],
+ "CPU FFT");
+}
gchar *callback_nqueens()
{
@@ -261,6 +272,13 @@ gchar *callback_fib()
setpriority(PRIO_PROCESS, 0, old_priority); \
} while (0);
+void scan_fft(gboolean reload)
+{
+ SCAN_START();
+ RUN_WITH_HIGH_PRIORITY(benchmark_fft);
+ SCAN_END();
+}
+
void scan_nqueens(gboolean reload)
{
SCAN_START();