summaryrefslogtreecommitdiff
path: root/arch/common/raytrace.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/common/raytrace.h')
-rw-r--r--arch/common/raytrace.h29
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;
}