aboutsummaryrefslogtreecommitdiff
path: root/modules/benchmark/fft.c
diff options
context:
space:
mode:
authorSimon Quigley <tsimonq2@ubuntu.com>2018-02-27 22:34:49 -0600
committerSimon Quigley <tsimonq2@ubuntu.com>2018-02-27 22:34:49 -0600
commit00831e690c4581ee8f0f92902ebdb75304bde817 (patch)
tree55a37b9cc5d60ad047631ffb39d2f822a22d6d39 /modules/benchmark/fft.c
parentd95f107ef2b9e82c341060be0def97d7bfa430b9 (diff)
parent09fcc751ef158898c315ebc9299a0fa3a722d914 (diff)
Update upstream source from tag 'upstream/0.5.1+git20180227'
Update to upstream version '0.5.1+git20180227' with Debian dir 7ca675e2ccb4367b7cc5b255a36b5173afaf9d2c
Diffstat (limited to 'modules/benchmark/fft.c')
-rw-r--r--modules/benchmark/fft.c36
1 files changed, 18 insertions, 18 deletions
diff --git a/modules/benchmark/fft.c b/modules/benchmark/fft.c
index 7c5889c8..caa52d3d 100644
--- a/modules/benchmark/fft.c
+++ b/modules/benchmark/fft.c
@@ -25,43 +25,43 @@ static gpointer fft_for(unsigned int start, unsigned int end, void *data, gint t
unsigned int i;
FFTBench **benches = (FFTBench **)data;
FFTBench *fftbench = (FFTBench *)(benches[thread_number]);
-
- for (i = start; i <= end; i++) {
+
+ for (i = start; i <= end; i++) {
fft_bench_run(fftbench);
}
-
+
return NULL;
}
+#define FFT_MAXT 4
+
void
benchmark_fft(void)
{
- gdouble elapsed = 0;
+ bench_value r = EMPTY_BENCH_VALUE;
+
int n_cores, i;
gchar *temp;
FFTBench **benches;
-
+
shell_view_set_enabled(FALSE);
shell_status_update("Running FFT benchmark...");
-
+
/* Pre-allocate all benchmarks */
- temp = module_call_method("devices::getProcessorCount");
- n_cores = temp ? atoi(temp) : 1;
- g_free(temp);
-
- benches = g_new0(FFTBench *, n_cores);
- for (i = 0; i < n_cores; i++) {
+ benches = g_new0(FFTBench *, FFT_MAXT);
+ for (i = 0; i < FFT_MAXT; i++) {
benches[i] = fft_bench_new();
}
-
+
/* Run the benchmark */
- elapsed = benchmark_parallel_for(0, 4, fft_for, benches);
-
+ r = benchmark_parallel_for(FFT_MAXT, 0, FFT_MAXT, fft_for, benches);
+
/* Free up the memory */
- for (i = 0; i < n_cores; i++) {
+ for (i = 0; i < FFT_MAXT; i++) {
fft_bench_free(benches[i]);
}
g_free(benches);
-
- bench_results[BENCHMARK_FFT] = elapsed;
+
+ r.result = r.elapsed_time;
+ bench_results[BENCHMARK_FFT] = r;
}