mirror of git://sourceware.org/git/glibc.git
benchtests: Fix pthread-locks test to produce valid json
The benchtests json allows {function {variant}} categorization of results whereas the pthread-locks tests had {function {variant {subvariant}}}, which broke validation. Fix that by serializing the subvariants as variant-subvariant. Also update the schema to recognize the new benchmark attributes after fixing the naming conventions.
This commit is contained in:
parent
81cbc3bcae
commit
a373aa25c7
|
@ -487,17 +487,20 @@ do_bench_2 (const char *name, test_t func, int filler, json_ctx_t *js)
|
||||||
}
|
}
|
||||||
stdev = sqrt (stdev / (RUN_COUNT - 1));
|
stdev = sqrt (stdev / (RUN_COUNT - 1));
|
||||||
|
|
||||||
json_attr_object_begin (js, filler ? "filler" : "empty");
|
char buf[128];
|
||||||
|
snprintf (buf, sizeof buf, "%s-%s", name, filler ? "filler" : "empty");
|
||||||
|
|
||||||
|
json_attr_object_begin (js, buf);
|
||||||
|
|
||||||
json_attr_double (js, "duration", (double) cur);
|
json_attr_double (js, "duration", (double) cur);
|
||||||
json_attr_double (js, "iterations", (double) iters);
|
json_attr_double (js, "iterations", (double) iters);
|
||||||
json_attr_double (js, "wall_sec", (double) td);
|
json_attr_double (js, "wall-sec", (double) td);
|
||||||
json_attr_double (js, "mean", mean);
|
json_attr_double (js, "mean", mean);
|
||||||
json_attr_double (js, "stdev", stdev);
|
json_attr_double (js, "stdev", stdev);
|
||||||
json_attr_double (js, "min_outlier", (double) curs[0] / (double) iters);
|
json_attr_double (js, "min-outlier", (double) curs[0] / (double) iters);
|
||||||
json_attr_double (js, "min", (double) curs[1] / (double) iters);
|
json_attr_double (js, "min", (double) curs[1] / (double) iters);
|
||||||
json_attr_double (js, "max", (double) curs[RUN_COUNT] / (double) iters);
|
json_attr_double (js, "max", (double) curs[RUN_COUNT] / (double) iters);
|
||||||
json_attr_double (js, "max_outlier", (double) curs[RUN_COUNT + 1] / (double) iters);
|
json_attr_double (js, "max-outlier", (double) curs[RUN_COUNT + 1] / (double) iters);
|
||||||
|
|
||||||
json_attr_object_end (js);
|
json_attr_object_end (js);
|
||||||
|
|
||||||
|
@ -509,13 +512,9 @@ do_bench_1 (const char *name, test_t func, json_ctx_t *js)
|
||||||
{
|
{
|
||||||
int rv = 0;
|
int rv = 0;
|
||||||
|
|
||||||
json_attr_object_begin (js, name);
|
|
||||||
|
|
||||||
rv += do_bench_2 (name, func, 0, js);
|
rv += do_bench_2 (name, func, 0, js);
|
||||||
rv += do_bench_2 (name, func, 1, js);
|
rv += do_bench_2 (name, func, 1, js);
|
||||||
|
|
||||||
json_attr_object_end (js);
|
|
||||||
|
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -27,6 +27,10 @@
|
||||||
"min-throughput": {"type": "number"},
|
"min-throughput": {"type": "number"},
|
||||||
"max-throughput": {"type": "number"},
|
"max-throughput": {"type": "number"},
|
||||||
"reciprocal-throughput": {"type": "number"},
|
"reciprocal-throughput": {"type": "number"},
|
||||||
|
"min-outlier": {"type": "number"},
|
||||||
|
"max-outlier": {"type": "number"},
|
||||||
|
"wall-sec": {"type": "number"},
|
||||||
|
"stdev": {"type": "number"},
|
||||||
"timings": {
|
"timings": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {"type": "number"}
|
"items": {"type": "number"}
|
||||||
|
|
Loading…
Reference in New Issue