about summary refs log tree commit diff
path: root/benchtests/scripts/benchout_strings.schema.json
diff options
context:
space:
mode:
authorSiddhesh Poyarekar <siddhesh@sourceware.org>2017-06-22 23:44:50 +0530
committerSiddhesh Poyarekar <siddhesh@sourceware.org>2017-06-22 23:44:51 +0530
commit25d5247277760e669a69618ce99ce6065e92362c (patch)
treeaa2d158d455d31592b9f2ad1d71e5d2cbd2ebdf7 /benchtests/scripts/benchout_strings.schema.json
parent5ee1e3cebc47495a36d17a0066c241978ca6f502 (diff)
downloadglibc-25d5247277760e669a69618ce99ce6065e92362c.tar.gz
glibc-25d5247277760e669a69618ce99ce6065e92362c.tar.xz
glibc-25d5247277760e669a69618ce99ce6065e92362c.zip
benchtests: New script to parse memcpy results
Read the memcpy results in json and print out the results in tabular
form, in addition to generating a graph of the results to compare all
of the implementations.

The format of the output is extensible enough to allow this kind of
analysis to be done on other string functions as well.

	* benchtests/scripts/benchout_strings.schema.json: New file.
	* benchtests/scripts/compare_strings.py: New file.
Diffstat (limited to 'benchtests/scripts/benchout_strings.schema.json')
-rw-r--r--benchtests/scripts/benchout_strings.schema.json44
1 files changed, 44 insertions, 0 deletions
diff --git a/benchtests/scripts/benchout_strings.schema.json b/benchtests/scripts/benchout_strings.schema.json
new file mode 100644
index 0000000000..7c9a67134b
--- /dev/null
+++ b/benchtests/scripts/benchout_strings.schema.json
@@ -0,0 +1,44 @@
+{
+  "title": "string benchmark",
+  "type": "object",
+  "properties": {
+    "timing_type": {
+      "type": "string"
+    },
+    "functions": {
+      "title": "Associative array of functions",
+      "type": "object",
+      "patternProperties": {
+        "^[_a-zA-Z][_a-zA-Z0-9]+$": {
+          "title": "Function names",
+          "type": "object",
+          "properties": {
+            "bench-variant": {"type": "string"},
+	    "ifuncs": {
+              "type": "array",
+	      "items": {"type": "string"}
+	    },
+	    "results": {
+              "type": "array",
+	      "items": {
+                "type": "object",
+		"properties": {
+                  "timings": {
+	            "type": "array",
+		    "items": {"type": "number"}
+                   }
+		 },
+		 "additionalProperties": {"type": "number"},
+		 "minProperties": 2
+	      }
+	    }
+          },
+          "additionalProperties": false
+        }
+      },
+      "minProperties": 1
+    }
+  },
+  "required": ["timing_type", "functions"],
+  "additionalProperties": false
+}