42b1161e8c
This patch adds a JSON schema for the benchmark output file and also adds a script that validates the generated output against the schema.
43 lines
1.2 KiB
JSON
43 lines
1.2 KiB
JSON
{
|
|
"title": "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",
|
|
"patternProperties": {
|
|
"^[_a-zA-Z0-9]*$": {
|
|
"title": "Function variants",
|
|
"type": "object",
|
|
"properties": {
|
|
"duration": {"type": "number"},
|
|
"iterations": {"type": "number"},
|
|
"max": {"type": "number"},
|
|
"min": {"type": "number"},
|
|
"mean": {"type": "number"},
|
|
"timings": {
|
|
"type": "array",
|
|
"items": {"type": "number"}
|
|
}
|
|
},
|
|
"required": ["duration", "iterations", "max", "min", "mean"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"minProperties": 1
|
|
}
|
|
},
|
|
"required": ["timing_type", "functions"],
|
|
"additionalProperties": false
|
|
}
|