diff options
Diffstat (limited to 'arch/common/raytrace.h')
-rw-r--r-- | arch/common/raytrace.h | 29 |
1 files changed, 14 insertions, 15 deletions
diff --git a/arch/common/raytrace.h b/arch/common/raytrace.h index af9f2afa..7fdc5e21 100644 --- a/arch/common/raytrace.h +++ b/arch/common/raytrace.h @@ -1,6 +1,6 @@ /* * HardInfo - Displays System Information - * Copyright (C) 2003-2007 Leandro A. F. Pereira <leandro@linuxmag.com.br> + * Copyright (C) 2003-2007 Leandro A. F. Pereira <leandro@hardinfo.org> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -18,28 +18,27 @@ void fbench(); /* fbench.c */ +static gpointer +parallel_raytrace(unsigned int start, unsigned int end, gpointer data) +{ + unsigned int i; + + for (i = start; i <= end; i++) { + fbench(); + } + + return NULL; +} + static void benchmark_raytrace(void) { - int i; - GTimer *timer = g_timer_new(); gdouble elapsed = 0; 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_destroy(timer); + elapsed = benchmark_parallel_for(0, 1000, parallel_raytrace, NULL); bench_results[BENCHMARK_RAYTRACE] = elapsed; } |