aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBurt P <pburt0@gmail.com>2019-07-09 18:21:36 -0500
committerLeandro A. F. Pereira <leandro@hardinfo.org>2019-07-10 12:26:24 -0700
commit201513a63d65596739a05dbc051916a284194715 (patch)
tree2e3858099338a57802e6365b718ac7f1b2580873
parent314208fd25cbb3f9705d4c2340118b3d57354c61 (diff)
benchmark: add extra fields to result for revision and information
* add an integer revision field * add an extra information string field * zlib benchmark: new revision[1] is 2, so that old results are obviously old, and now the zlib version string will be stored in extra information. [1] as of 6a8e19a14305079b03e45eeb0580a45104f300dd Signed-off-by: Burt P <pburt0@gmail.com>
-rw-r--r--data/benchmark.conf6
-rw-r--r--includes/benchmark.h4
-rw-r--r--modules/benchmark.c13
-rw-r--r--modules/benchmark/bench_results.c16
-rw-r--r--modules/benchmark/zlib.c2
5 files changed, 33 insertions, 8 deletions
diff --git a/data/benchmark.conf b/data/benchmark.conf
index 37cffed3..87bda07a 100644
--- a/data/benchmark.conf
+++ b/data/benchmark.conf
@@ -319,9 +319,9 @@ PowerPC 740/750=58.07682|280.00 MHz|Unknown
2_0___X370_SLI_PLUS_(MS_7A33)_(Micro_Star_International_Co___Ltd_);AMD_Ryzen_5_1600_Six_Core_Processor;38400_00 = 1.209032; 1.209032; 1|1|2.0 / X370 SLI PLUS (MS-7A33) (Micro-Star International Co., Ltd.)|AMD Ryzen 5 1600 Six-Core Processor|1 physical processor; 6 cores; 12 threads|12x 3200.00 MHz|16377260|1|6|12|AMD Radeon (TM) R9 390 Series (HAWAII, DRM 3.26.0, 4.18.0, LLVM 6.0.1)|AMD/ATI Hawaii PRO + NVIDIA GeForce GTX 750
[CPU Zlib]
-Raspberry_Pi_Model_B_Rev_1;Broadcom_BCM2835;900_00=0.550000; 7.000921; 1|1|Raspberry Pi Model B Rev 1|Broadcom BCM2835|1x ARM ARM1176 r0p7 (AArch32)|1x 900.00 MHz|233612|1|1|1||Broadcom VideoCore IV
-ASUS_PRIME_B350_PLUS;AMD_Ryzen_5_1600_Six_Core_Processor;38400_00=97.400000; 7.000335; 12|12|ASUS PRIME B350-PLUS|AMD Ryzen 5 1600 Six-Core Processor|1 physical processor; 6 cores; 12 threads|12x 3200.00 MHz|16423392|1|6|12|Radeon RX 560 Series (POLARIS11, DRM 3.26.0, 4.18.0-10-generic, LLVM 7.0.0)|AMD/ATI Baffin
-HP_18E7_(HP_ProDesk_600_G1_SFF);Intel(R)_Core(TM)_i5_4570_CPU___3_20GHz;14400_00=49.490000; 7.000286; 4|4|HP 18E7 (HP ProDesk 600 G1 SFF)|Intel(R) Core(TM) i5-4570 CPU @ 3.20GHz|1 physical processor; 4 cores; 4 threads|4x 3600.00 MHz|8075460|1|4|4|Mesa DRI Intel(R) Haswell Desktop|Intel Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller
+Raspberry_Pi_Model_B_Rev_1;Broadcom_BCM2835;900_00=0.550000; 7.000921; 1; 2|1|Raspberry Pi Model B Rev 1|Broadcom BCM2835|1x ARM ARM1176 r0p7 (AArch32)|1x 900.00 MHz|233612|1|1|1||Broadcom VideoCore IV
+ASUS_PRIME_B350_PLUS;AMD_Ryzen_5_1600_Six_Core_Processor;38400_00=97.400000; 7.000335; 12; 2|12|ASUS PRIME B350-PLUS|AMD Ryzen 5 1600 Six-Core Processor|1 physical processor; 6 cores; 12 threads|12x 3200.00 MHz|16423392|1|6|12|Radeon RX 560 Series (POLARIS11, DRM 3.26.0, 4.18.0-10-generic, LLVM 7.0.0)|AMD/ATI Baffin
+HP_18E7_(HP_ProDesk_600_G1_SFF);Intel(R)_Core(TM)_i5_4570_CPU___3_20GHz;14400_00=49.490000; 7.000286; 4; 2|4|HP 18E7 (HP ProDesk 600 G1 SFF)|Intel(R) Core(TM) i5-4570 CPU @ 3.20GHz|1 physical processor; 4 cores; 4 threads|4x 3600.00 MHz|8075460|1|4|4|Mesa DRI Intel(R) Haswell Desktop|Intel Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller
[GPU Drawing]
diff --git a/includes/benchmark.h b/includes/benchmark.h
index 50f8da4b..04182944 100644
--- a/includes/benchmark.h
+++ b/includes/benchmark.h
@@ -35,9 +35,11 @@ typedef struct {
double result;
double elapsed_time;
int threads_used;
+ int revision;
+ char extra[256]; /* no \n, ; or | */
} bench_value;
-#define EMPTY_BENCH_VALUE {-1.0f,0,0}
+#define EMPTY_BENCH_VALUE {-1.0f,0,0,-1,""}
char *bench_value_to_str(bench_value r);
bench_value bench_value_from_str(const char* str);
diff --git a/modules/benchmark.c b/modules/benchmark.c
index 64f55e1f..efff08f1 100644
--- a/modules/benchmark.c
+++ b/modules/benchmark.c
@@ -44,20 +44,27 @@ static gchar *benchmark_include_results(bench_value result, const gchar * benchm
static gboolean sending_benchmark_results = FALSE;
char *bench_value_to_str(bench_value r) {
- return g_strdup_printf("%lf; %lf; %d", r.result, r.elapsed_time, r.threads_used);
+ return g_strdup_printf("%lf; %lf; %d; %d; %s", r.result, r.elapsed_time, r.threads_used, r.revision, r.extra);
}
bench_value bench_value_from_str(const char* str) {
bench_value ret = EMPTY_BENCH_VALUE;
double r, e;
- int t, c;
+ int t, c, v;
+ char extra[256];
if (str) {
- c = sscanf(str, "%lf; %lf; %d", &r, &e, &t);
+ c = sscanf(str, "%lf; %lf; %d; %d; %255[^\r\n;|]", &r, &e, &t, &v, extra);
if (c >= 3) {
ret.result = r;
ret.elapsed_time = e;
ret.threads_used = t;
}
+ if (c >= 4) {
+ ret.revision = v;
+ }
+ if (c >= 5) {
+ strcpy(ret.extra, extra);
+ }
}
return ret;
}
diff --git a/modules/benchmark/bench_results.c b/modules/benchmark/bench_results.c
index a4335151..3609a5dd 100644
--- a/modules/benchmark/bench_results.c
+++ b/modules/benchmark/bench_results.c
@@ -374,10 +374,15 @@ static char *bench_result_more_info_less(bench_result *b) {
(b->machine->memory_kiB > 0)
? g_strdup_printf("%d %s", b->machine->memory_kiB, _("kiB") )
: g_strdup(_(unk) );
+ char bench_str[256] = "";
+ if (b->bvalue.revision >= 0)
+ snprintf(bench_str, 127, "%d", b->bvalue.revision);
char *ret = g_strdup_printf("[%s]\n"
/* threads */ "%s=%d\n"
/* elapsed */ "%s=%0.4f %s\n"
+ "%s=%s\n"
+ "%s=%s\n"
/* legacy */ "%s=%s\n"
"[%s]\n"
/* board */ "%s=%s\n"
@@ -391,6 +396,8 @@ static char *bench_result_more_info_less(bench_result *b) {
_("Benchmark Result"),
_("Threads"), b->bvalue.threads_used,
_("Elapsed Time"), b->bvalue.elapsed_time, _("seconds"),
+ *bench_str ? _("Revision") : _("#Revision"), bench_str,
+ *b->bvalue.extra ? _("Extra Information") : _("#Extra"), b->bvalue.extra,
b->legacy ? _("Note") : "#Note",
b->legacy ? _("This result is from an old version of HardInfo. Results might not be comparable to current version. Some details are missing.") : "",
_("Machine"),
@@ -408,11 +415,17 @@ static char *bench_result_more_info_less(bench_result *b) {
}
static char *bench_result_more_info_complete(bench_result *b) {
+ char bench_str[256] = "";
+ strncpy(bench_str, b->name, 127);
+ if (b->bvalue.revision >= 0)
+ snprintf(bench_str + strlen(bench_str), 127, " (r%d)", b->bvalue.revision);
+
return g_strdup_printf("[%s]\n"
/* bench name */"%s=%s\n"
/* threads */ "%s=%d\n"
/* result */ "%s=%0.2f\n"
/* elapsed */ "%s=%0.4f %s\n"
+ "%s=%s\n"
/* legacy */ "%s=%s\n"
"[%s]\n"
/* board */ "%s=%s\n"
@@ -427,10 +440,11 @@ static char *bench_result_more_info_complete(bench_result *b) {
/* mid */ "%s=%s\n"
/* cfg_val */ "%s=%.2f\n",
_("Benchmark Result"),
- _("Benchmark"), b->name,
+ _("Benchmark"), bench_str,
_("Threads"), b->bvalue.threads_used,
_("Result"), b->bvalue.result,
_("Elapsed Time"), b->bvalue.elapsed_time, _("seconds"),
+ *b->bvalue.extra ? _("Extra Information") : _("#Extra"), b->bvalue.extra,
b->legacy ? _("Note") : "#Note",
b->legacy ? _("This result is from an old version of HardInfo. Results might not be comparable to current version. Some details are missing.") : "",
_("Machine"),
diff --git a/modules/benchmark/zlib.c b/modules/benchmark/zlib.c
index 5d7b4d4f..ce6a0048 100644
--- a/modules/benchmark/zlib.c
+++ b/modules/benchmark/zlib.c
@@ -93,6 +93,8 @@ benchmark_zlib(void)
r = benchmark_crunch_for(CRUNCH_TIME, 0, zlib_for, data);
r.result /= 100;
+ r.revision = 2;
+ snprintf(r.extra, 255, "zlib %s (built against: %s)", zlib_version, ZLIB_VERSION);
bench_results[BENCHMARK_ZLIB] = r;
g_free(data);