diff options
author | Burt P <pburt0@gmail.com> | 2017-12-17 08:56:46 -0600 |
---|---|---|
committer | Leandro A. F. Pereira <leandro@hardinfo.org> | 2018-02-27 07:41:51 -0800 |
commit | c8785521f39c3a86454ade890018ca021272c621 (patch) | |
tree | 4df2fa40ca918cb26460d07939136bef6a63ef13 /modules/benchmark/cryptohash.c | |
parent | 8fb9ed49987ca006495891f04e5250496d6e00f4 (diff) |
Benchmark results: store threads used
Benchmark results store actual number of threads used by benchmark
when it was run. Previously, results assumed all available threads
were used.
Examples:
* CPU Fib only uses one
* FPU FFT uses 4, 2, or 1
* N-Queens uses 10, 5, 2, or 1
Signed-off-by: Burt P <pburt0@gmail.com>
Diffstat (limited to 'modules/benchmark/cryptohash.c')
-rw-r--r-- | modules/benchmark/cryptohash.c | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/modules/benchmark/cryptohash.c b/modules/benchmark/cryptohash.c index d97e85c7..6150f3ef 100644 --- a/modules/benchmark/cryptohash.c +++ b/modules/benchmark/cryptohash.c @@ -20,21 +20,21 @@ #include "sha1.h" #include "benchmark.h" -static void inline md5_step(char *data, glong srclen) +void inline md5_step(char *data, glong srclen) { struct MD5Context ctx; guchar checksum[16]; - + MD5Init(&ctx); MD5Update(&ctx, (guchar *)data, srclen); MD5Final(checksum, &ctx); } -static void inline sha1_step(char *data, glong srclen) +void inline sha1_step(char *data, glong srclen) { SHA1_CTX ctx; guchar checksum[20]; - + SHA1Init(&ctx); SHA1Update(&ctx, (guchar*)data, srclen); SHA1Final(checksum, &ctx); @@ -43,37 +43,38 @@ static void inline sha1_step(char *data, glong srclen) static gpointer cryptohash_for(unsigned int start, unsigned int end, void *data, gint thread_number) { unsigned int i; - - for (i = start; i <= end; i++) { + + for (i = start; i <= end; i++) { if (i & 1) { md5_step(data, 65536); } else { sha1_step(data, 65536); } } - + return NULL; } void benchmark_cryptohash(void) { - gdouble elapsed = 0; + bench_value r = EMPTY_BENCH_VALUE; gchar *tmpsrc, *bdata_path; - + 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; - } - + } + shell_view_set_enabled(FALSE); shell_status_update("Running CryptoHash benchmark..."); - - elapsed = benchmark_parallel_for(0, 5000, cryptohash_for, tmpsrc); - + + r = benchmark_parallel_for(0, 0, 5000, cryptohash_for, tmpsrc); + g_free(bdata_path); g_free(tmpsrc); - - bench_results[BENCHMARK_CRYPTOHASH] = 312.0 / elapsed; + + r.result = 312.0 / r.elapsed_time; //TODO: explain in code comments + bench_results[BENCHMARK_CRYPTOHASH] = r; } |