diff options
author | Leandro Pereira <leandro@daileon.acd.puc-campinas.edu.br> | 2008-10-27 13:56:56 -0200 |
---|---|---|
committer | Leandro Pereira <leandro@daileon.acd.puc-campinas.edu.br> | 2008-10-27 13:56:56 -0200 |
commit | e68688d89d367a7cf829962e09f90e4ed2a5c211 (patch) | |
tree | 3cd4499492a5de4c8bd0ffac276ddd0ff9926865 /hardinfo2/arch/common/raytrace.h | |
parent | c25701b7307a237ffc825b840fd9813a164b1320 (diff) |
Add parallel benchmarks
Diffstat (limited to 'hardinfo2/arch/common/raytrace.h')
-rw-r--r-- | hardinfo2/arch/common/raytrace.h | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/hardinfo2/arch/common/raytrace.h b/hardinfo2/arch/common/raytrace.h index 16cba7b6..c02cb910 100644 --- a/hardinfo2/arch/common/raytrace.h +++ b/hardinfo2/arch/common/raytrace.h @@ -18,6 +18,16 @@ void fbench(); /* fbench.c */ +static gpointer +parallel_raytrace(unsigned int start, unsigned int end, gpointer data) +{ + for (i = start; i <= end; i++) { + fbench(); + } + + return NULL; +} + static void benchmark_raytrace(void) { @@ -28,17 +38,11 @@ benchmark_raytrace(void) shell_view_set_enabled(FALSE); shell_status_update("Performing John Walker's FBENCH..."); - for (i = 0; i <= 1000; i++) { - g_timer_start(timer); - - fbench(); - - g_timer_stop(timer); - elapsed += g_timer_elapsed(timer, NULL); - - shell_status_set_percentage(i/10); - } + g_timer_start(timer); + benchmark_parallel_for(0, 1000, parallel_raytrace, NULL); + g_timer_stop(timer); + elapsed = g_timer_elapsed(timer, NULL); g_timer_destroy(timer); bench_results[BENCHMARK_RAYTRACE] = elapsed; |