diff options
author | Simon Quigley <tsimonq2@ubuntu.com> | 2018-02-27 22:34:49 -0600 |
---|---|---|
committer | Simon Quigley <tsimonq2@ubuntu.com> | 2018-02-27 22:34:49 -0600 |
commit | 00831e690c4581ee8f0f92902ebdb75304bde817 (patch) | |
tree | 55a37b9cc5d60ad047631ffb39d2f822a22d6d39 /modules/benchmark/fft.c | |
parent | d95f107ef2b9e82c341060be0def97d7bfa430b9 (diff) | |
parent | 09fcc751ef158898c315ebc9299a0fa3a722d914 (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.c | 36 |
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; } |