diff options
author | Leandro A. F. Pereira <leandro@hardinfo.org> | 2007-01-20 01:33:01 +0000 |
---|---|---|
committer | Leandro A. F. Pereira <leandro@hardinfo.org> | 2007-01-20 01:33:01 +0000 |
commit | c38d62dba479a8a69703d0fb010ed34ac2ebc685 (patch) | |
tree | 2b874f1b890be1d73bd09bd332b8607c001703ac /hardinfo2 | |
parent | fa0fa92bd3f1f0bad206b3a835b562839d9d895c (diff) |
Better benchmark result handling when using synchronized data.
Diffstat (limited to 'hardinfo2')
-rw-r--r-- | hardinfo2/arch/common/blowfish.h | 9 | ||||
-rw-r--r-- | hardinfo2/arch/common/fib.h | 6 | ||||
-rw-r--r-- | hardinfo2/arch/common/md5.h | 9 | ||||
-rw-r--r-- | hardinfo2/arch/common/raytrace.h | 6 | ||||
-rw-r--r-- | hardinfo2/arch/common/sha1.h | 9 | ||||
-rw-r--r-- | hardinfo2/arch/common/zlib.h | 16 | ||||
-rw-r--r-- | hardinfo2/benchmark.c | 82 |
7 files changed, 46 insertions, 91 deletions
diff --git a/hardinfo2/arch/common/blowfish.h b/hardinfo2/arch/common/blowfish.h index 07160690..ceec7a96 100644 --- a/hardinfo2/arch/common/blowfish.h +++ b/hardinfo2/arch/common/blowfish.h @@ -18,7 +18,7 @@ #include <blowfish.h> -gchar * +static void benchmark_fish(void) { BLOWFISH_CTX ctx; @@ -39,8 +39,7 @@ benchmark_fish(void) bdata_path = g_build_filename(params.path_data, "benchmark.data", NULL); if (!g_file_get_contents(bdata_path, &tmpsrc, NULL, NULL)) { g_free(bdata_path); - return g_strdup("[Error]\n" - PREFIX "benchmark.data not found=\n"); + return; } shell_view_set_enabled(FALSE); @@ -63,8 +62,4 @@ benchmark_fish(void) g_free(bdata_path); bench_results[BENCHMARK_BLOWFISH] = elapsed; - - gchar *retval = g_strdup_printf("[Results <i>(in seconds; lower is better)</i>]\n" - "<i>This Machine</i>=%.2f\n", elapsed); - return benchmark_include_results(retval, "CPU Blowfish"); } diff --git a/hardinfo2/arch/common/fib.h b/hardinfo2/arch/common/fib.h index e676e38e..645002fa 100644 --- a/hardinfo2/arch/common/fib.h +++ b/hardinfo2/arch/common/fib.h @@ -26,7 +26,7 @@ fib(gulong n) return fib(n - 1) + fib(n - 2); } -static gchar * +static void benchmark_fib(void) { GTimer *timer = g_timer_new(); @@ -45,8 +45,4 @@ benchmark_fib(void) g_timer_destroy(timer); bench_results[BENCHMARK_FIB] = elapsed; - - gchar *retval = g_strdup_printf("[Results]\n" - "<i>This Machine</i>=%.3f s\n", elapsed); - return benchmark_include_results(retval, "CPU Fibonacci"); } diff --git a/hardinfo2/arch/common/md5.h b/hardinfo2/arch/common/md5.h index 601eef94..95d683bd 100644 --- a/hardinfo2/arch/common/md5.h +++ b/hardinfo2/arch/common/md5.h @@ -18,7 +18,7 @@ #include <md5.h> -gchar * +static void benchmark_md5(void) { struct MD5Context ctx; @@ -36,8 +36,7 @@ benchmark_md5(void) bdata_path = g_build_filename(params.path_data, "benchmark.data", NULL); if (!g_file_get_contents(bdata_path, &tmpsrc, NULL, NULL)) { g_free(bdata_path); - return g_strdup("[Error]\n" - PREFIX "benchmark.data not found=\n"); + return; } shell_view_set_enabled(FALSE); @@ -60,9 +59,5 @@ benchmark_md5(void) g_free(bdata_path); bench_results[BENCHMARK_MD5] = 312.0 / elapsed; - - gchar *retval = g_strdup_printf("[Results]\n" - "<i>This Machine</i>=%.2f MiB/s\n", 312.0 / elapsed); - return benchmark_include_results_reverse(retval, "CPU MD5"); } diff --git a/hardinfo2/arch/common/raytrace.h b/hardinfo2/arch/common/raytrace.h index d574779d..af9f2afa 100644 --- a/hardinfo2/arch/common/raytrace.h +++ b/hardinfo2/arch/common/raytrace.h @@ -18,7 +18,7 @@ void fbench(); /* fbench.c */ -static gchar * +static void benchmark_raytrace(void) { int i; @@ -42,9 +42,5 @@ benchmark_raytrace(void) g_timer_destroy(timer); bench_results[BENCHMARK_RAYTRACE] = elapsed; - - gchar *retval = g_strdup_printf("[Results <i>(in seconds; lower is better)</i>]\n" - "<i>This Machine</i>=%.2f\n", elapsed); - return benchmark_include_results(retval, "CPU Raytracing"); } diff --git a/hardinfo2/arch/common/sha1.h b/hardinfo2/arch/common/sha1.h index 79cfebcf..3b7f7652 100644 --- a/hardinfo2/arch/common/sha1.h +++ b/hardinfo2/arch/common/sha1.h @@ -17,7 +17,7 @@ */ #include <sha1.h> -gchar * +static void benchmark_sha1(void) { SHA1_CTX ctx; @@ -35,8 +35,7 @@ benchmark_sha1(void) bdata_path = g_build_filename(params.path_data, "benchmark.data", NULL); if (!g_file_get_contents(bdata_path, &tmpsrc, NULL, NULL)) { g_free(bdata_path); - return g_strdup("[Error]\n" - PREFIX "benchmark.data not found=\n"); + return; } shell_view_set_enabled(FALSE); @@ -59,9 +58,5 @@ benchmark_sha1(void) g_free(bdata_path); bench_results[BENCHMARK_SHA1] = 312.0 / elapsed; - - gchar *retval = g_strdup_printf("[Results]\n" - "<i>This Machine</i>=%.2f MiB/s\n", 312.0 / elapsed); - return benchmark_include_results_reverse(retval, "CPU SHA1"); } diff --git a/hardinfo2/arch/common/zlib.h b/hardinfo2/arch/common/zlib.h index 3a091ac0..96d20944 100644 --- a/hardinfo2/arch/common/zlib.h +++ b/hardinfo2/arch/common/zlib.h @@ -16,7 +16,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -static gchar * +static void benchmark_zlib(void) { GModule *libz; @@ -30,8 +30,7 @@ benchmark_zlib(void) libz = g_module_open("/usr/lib/libz.so", G_MODULE_BIND_LAZY); if (!libz) { g_warning("Cannot load ZLib: %s", g_module_error()); - return g_strdup("[Error]\n" - "ZLib not found="); + return; } } @@ -39,8 +38,7 @@ benchmark_zlib(void) || !g_module_symbol(libz, "compressBound", (gpointer) & compressBound)) { g_module_close(libz); - return g_strdup("[Error]\n" - "Invalid Z-Lib found="); + return; } } @@ -56,8 +54,7 @@ benchmark_zlib(void) bdata_path = g_build_filename(params.path_data, "benchmark.data", NULL); if (!g_file_get_contents(bdata_path, &tmpsrc, NULL, NULL)) { g_free(bdata_path); - return g_strdup("[Error]\n" - PREFIX "benchmark.data not found=\n"); + return; } shell_status_update("Compressing 64MB with default options..."); @@ -82,9 +79,4 @@ benchmark_zlib(void) g_free(bdata_path); bench_results[BENCHMARK_ZLIB] = 65536.0 / elapsed; - - gchar *retval = g_strdup_printf("[Results]\n" - "<i>This Machine</i>=%.3f KiB/s\n", - 65536.0 / elapsed); - return benchmark_include_results_reverse(retval, "CPU ZLib"); } diff --git a/hardinfo2/benchmark.c b/hardinfo2/benchmark.c index a4501e43..7f5025de 100644 --- a/hardinfo2/benchmark.c +++ b/hardinfo2/benchmark.c @@ -56,33 +56,24 @@ static ModuleEntry entries[] = { { NULL } }; -static gchar *__benchmark_include_results(gchar * results, +static gchar *__benchmark_include_results(gdouble result, const gchar * benchmark, ShellOrderType order_type) { GKeyFile *conf; gchar **machines; - gchar *path; + gchar *path, *results = ""; int i; conf = g_key_file_new(); - path = g_build_filename(params.path_data, "benchmark.conf", NULL); - g_key_file_load_from_file(conf, path, 0, NULL); - - machines = g_key_file_get_keys(conf, benchmark, NULL, NULL); - for (i = 0; machines && machines[i]; i++) { - gchar *value = g_key_file_get_value(conf, benchmark, machines[i], NULL); - results = g_strconcat(results, machines[i], "=", value, "\n", NULL); - g_free(value); + path = g_build_filename(g_get_home_dir(), ".hardinfo", "benchmark.conf", NULL); + if (!g_file_test(path, G_FILE_TEST_EXISTS)) { + DEBUG("local benchmark.conf not found, trying system-wide"); + g_free(path); + path = g_build_filename(params.path_data, "benchmark.conf", NULL); } - g_strfreev(machines); - g_free(path); - g_key_file_free(conf); - - conf = g_key_file_new(); - path = g_build_filename(g_get_home_dir(), ".hardinfo", "benchmark.conf", NULL); g_key_file_load_from_file(conf, path, 0, NULL); machines = g_key_file_get_keys(conf, benchmark, NULL, NULL); @@ -96,33 +87,32 @@ static gchar *__benchmark_include_results(gchar * results, g_free(path); g_key_file_free(conf); + DEBUG("results = %s", results); + return g_strdup_printf("[$ShellParam$]\n" "Zebra=1\n" "OrderType=%d\n" - "ViewType=3\n%s", order_type, results); + "ViewType=3\n" + "[%s]\n" + "<i>This Machine</i>=%.3f\n" + "%s", order_type, benchmark, result, results); } -static gchar *benchmark_include_results_reverse(gchar * results, +static gchar *benchmark_include_results_reverse(gdouble result, const gchar * benchmark) { - return __benchmark_include_results(results, benchmark, + return __benchmark_include_results(result, benchmark, SHELL_ORDER_DESCENDING); } -static gchar *benchmark_include_results(gchar * results, +static gchar *benchmark_include_results(gdouble result, const gchar * benchmark) { - return __benchmark_include_results(results, benchmark, + return __benchmark_include_results(result, benchmark, SHELL_ORDER_ASCENDING); } static gdouble bench_results[BENCHMARK_N_ENTRIES]; -static gchar *bench_zlib = NULL, - *bench_fib = NULL, - *bench_md5 = NULL, - *bench_sha1 = NULL, - *bench_fish = NULL, - *bench_ray = NULL; #include <arch/common/fib.h> #include <arch/common/zlib.h> @@ -133,79 +123,73 @@ static gchar *bench_zlib = NULL, gchar *callback_zlib() { - return g_strdup(bench_zlib); + return benchmark_include_results_reverse(bench_results[BENCHMARK_ZLIB], "CPU ZLib"); } gchar *callback_raytr() { - return g_strdup(bench_ray); + return benchmark_include_results(bench_results[BENCHMARK_RAYTRACE], "FPU Raytracing"); } gchar *callback_bfsh() { - return g_strdup(bench_fish); + return benchmark_include_results(bench_results[BENCHMARK_BLOWFISH], "CPU Blowfish"); } gchar *callback_md5() { - return g_strdup(bench_md5); + return benchmark_include_results_reverse(bench_results[BENCHMARK_MD5], "CPU MD5"); } gchar *callback_fib() { - return g_strdup(bench_fib); + return benchmark_include_results(bench_results[BENCHMARK_FIB], "CPU Fibonacci"); } gchar *callback_sha1() { - return g_strdup(bench_sha1); + return benchmark_include_results_reverse(bench_results[BENCHMARK_SHA1], "CPU SHA1"); } void scan_zlib(gboolean reload) { SCAN_START(); - g_free(bench_zlib); - bench_zlib = benchmark_zlib(); + benchmark_zlib(); SCAN_END(); } void scan_raytr(gboolean reload) { SCAN_START(); - g_free(bench_ray); - bench_ray = benchmark_raytrace(); + benchmark_raytrace(); SCAN_END(); } void scan_bfsh(gboolean reload) { SCAN_START(); - g_free(bench_fish); - bench_fish = benchmark_fish(); + benchmark_fish(); SCAN_END(); } void scan_md5(gboolean reload) { SCAN_START(); - g_free(bench_md5); - bench_md5 = benchmark_md5(); + benchmark_md5(); SCAN_END(); } void scan_fib(gboolean reload) { SCAN_START(); - g_free(bench_fib); - bench_fib = benchmark_fib(); + benchmark_fib(); SCAN_END(); } void scan_sha1(gboolean reload) { SCAN_START(); - g_free(bench_sha1); - bench_sha1 = benchmark_sha1(); + benchmark_sha1(); SCAN_END(); } @@ -213,9 +197,11 @@ const gchar *hi_note_func(gint entry) { switch (entry) { case BENCHMARK_ZLIB: + return "Results in KiB/second. Higher is better."; + case BENCHMARK_MD5: case BENCHMARK_SHA1: - return "Results in bytes/second. Higher is better."; + return "Results in MiB/second. Higher is better."; case BENCHMARK_RAYTRACE: case BENCHMARK_BLOWFISH: @@ -294,13 +280,13 @@ hi_module_init(void) { static SyncEntry se[] = { { - .fancy_name = "Send Benchmark results", + .fancy_name = "Send Benchmark Results", .name = "SendBenchmarkResults", .save_to = NULL, .get_data = get_benchmark_results }, { - .fancy_name = "Receive Benchmark results", + .fancy_name = "Receive Benchmark Results", .name = "RecvBenchmarkResults", .save_to = "benchmark.conf", .get_data = NULL |