Skip to content

Commit 458e9c0

Browse files
committed
run reports
1 parent 0684f4f commit 458e9c0

23 files changed

+9067
-3920
lines changed

README.md

Lines changed: 33 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -8,30 +8,25 @@ for validators that cause side-effects on schema or data.
88

99
# Performance
1010

11-
![performance](https://chart.googleapis.com/chart?chxt=x,y&cht=bhs&chco=76A4FB&chls=2.0&chbh=29,4,1&chs=600x416&chxl=-1:|djv|ajv|jsen|json-schema-validator-generator|is-my-json-valid|themis|jsck|z-schema|skeemas|jsonschema|json-schema-library|tv4&chd=t:100,84.2,53.6,52.5,32.9,13.8,4.7,3.6,0.7,0.6,0.5,0.1)
11+
![performance](https://chart.googleapis.com/chart?chxt=x,y&cht=bhs&chco=76A4FB&chls=2.0&chbh=53,4,1&chs=600x419&chxl=-1:|ajv|is-my-json-valid|z-schema|skeemas|jsonschema|json-schema-library|tv4&chd=t:100,52.1,4.1,0.9,0.7,0.5,0.2)
1212

1313
|Validator|Relative speed|Number of test runs per second|
1414
|---------|:------------:|:----------------------------:|
15-
|[`djv`](https://github.com/korzio/djv#readme)|100%|70560 (± 6.66%)|
16-
|[`ajv`](https://github.com/epoberezkin/ajv)|84.2%|59404 (± 0.36%)|
17-
|[`jsen`](https://github.com/bugventure/jsen)|53.6%|37848 (± 2.76%)|
18-
|[`json-schema-validator-generator`](https://github.com/danwang/json-schema-validator-generator)|52.5%|37079 (± 4.56%)|
19-
|[`is-my-json-valid`](https://github.com/mafintosh/is-my-json-valid)|32.9%|23209 (± 3.61%)|
20-
|[`themis`](https://github.com/playlyfe/themis)|13.8%|9721 (± 9.62%)|
21-
|[`jsck`](https://github.com/pandastrike/jsck#readme)|4.7%|3333 (± 1.06%)|
22-
|[`z-schema`](https://github.com/zaggino/z-schema)|3.6%|2523 (± 0.64%)|
23-
|[`skeemas`](https://github.com/Prestaul/skeemas#readme)|0.7%|505 (± 1.64%)|
24-
|[`jsonschema`](https://github.com/tdegrunt/jsonschema#readme)|0.6%|442 (± 2.52%)|
25-
|[`json-schema-library`](https://github.com/sagold/json-schema-library)|0.5%|324 (± 1.35%)|
26-
|[`tv4`](https://github.com/geraintluff/tv4)|0.1%|88 (± 1.31%)|
15+
|[`ajv`](https://github.com/epoberezkin/ajv)|100%|49511 (± 0.5%)|
16+
|[`is-my-json-valid`](https://github.com/mafintosh/is-my-json-valid)|52.1%|25817 (± 2.17%)|
17+
|[`z-schema`](https://github.com/zaggino/z-schema)|4.1%|2046 (± 0.76%)|
18+
|[`skeemas`](https://github.com/Prestaul/skeemas#readme)|0.9%|442 (± 1.69%)|
19+
|[`jsonschema`](https://github.com/tdegrunt/jsonschema#readme)|0.7%|328 (± 2.17%)|
20+
|[`json-schema-library`](https://github.com/sagold/json-schema-library)|0.5%|234 (± 0.89%)|
21+
|[`tv4`](https://github.com/geraintluff/tv4)|0.2%|76 (± 1.35%)|
2722

2823
235 tests are run in each test run.
2924

30-
Validators tested: [`json-schema-validator-generator (1.1.11)`](https://github.com/danwang/json-schema-validator-generator), [`is-my-json-valid (2.19.0)`](https://github.com/mafintosh/is-my-json-valid), [`jsen (0.6.6)`](https://github.com/bugventure/jsen), [`ajv (6.6.2)`](https://github.com/epoberezkin/ajv), [`themis (1.1.6)`](https://github.com/playlyfe/themis), [`z-schema (3.24.2)`](https://github.com/zaggino/z-schema), [`jjv (1.0.2)`](https://github.com/acornejo/jjv), [`djv (2.1.1)`](https://github.com/korzio/djv#readme), [`skeemas (1.2.5)`](https://github.com/Prestaul/skeemas#readme), [`jayschema (0.3.2)`](https://github.com/natesilva/jayschema), [`schemasaurus (0.7.8)`](https://github.com/AlexeyGrishin/schemasaurus), [`jsck (0.3.2)`](https://github.com/pandastrike/jsck#readme), [`jassi (0.1.2)`](https://github.com/iclanzan/jassi), [`JSV (4.0.2)`](http://github.com/garycourt/JSV), [`request-validator (0.3.3)`](https://github.com/bugventure/request-validator), [`json-gate (0.8.23)`](https://github.com/oferei/json-gate#readme), [`json-model (0.2.24)`](https://github.com/geraintluff/json-model), [`tv4 (1.3.0)`](https://github.com/geraintluff/tv4), [`jsonschema (1.2.4)`](https://github.com/tdegrunt/jsonschema#readme), [`revalidator (0.3.1)`](https://github.com/flatiron/revalidator), [`json-schema-library (3.3.4)`](https://github.com/sagold/json-schema-library),
25+
Validators tested: [`json-schema-validator-generator (1.1.11)`](https://github.com/danwang/json-schema-validator-generator), [`is-my-json-valid (2.19.0)`](https://github.com/mafintosh/is-my-json-valid), [`jsen (0.6.6)`](https://github.com/bugventure/jsen), [`ajv (6.10.0)`](https://github.com/epoberezkin/ajv), [`themis (1.1.6)`](https://github.com/playlyfe/themis), [`z-schema (4.0.0)`](https://github.com/zaggino/z-schema), [`jjv (1.0.2)`](https://github.com/acornejo/jjv), [`djv (2.1.2)`](https://github.com/korzio/djv#readme), [`skeemas (1.2.5)`](https://github.com/Prestaul/skeemas#readme), [`jayschema (0.3.2)`](https://github.com/natesilva/jayschema), [`schemasaurus (0.7.8)`](https://github.com/AlexeyGrishin/schemasaurus), [`jsck (0.3.2)`](https://github.com/pandastrike/jsck#readme), [`jassi (0.1.2)`](https://github.com/iclanzan/jassi), [`JSV (4.0.2)`](http://github.com/garycourt/JSV), [`request-validator (0.3.3)`](https://github.com/bugventure/request-validator), [`json-gate (0.8.23)`](https://github.com/oferei/json-gate#readme), [`json-model (0.2.24)`](https://github.com/geraintluff/json-model), [`tv4 (1.3.0)`](https://github.com/geraintluff/tv4), [`jsonschema (1.2.4)`](https://github.com/tdegrunt/jsonschema#readme), [`revalidator (0.3.1)`](https://github.com/flatiron/revalidator), [`json-schema-library (3.3.4)`](https://github.com/sagold/json-schema-library),
3126

3227
(validators not in the results above where excluded because of failing tests - see below for details)
3328

34-
[`djv`](https://github.com/korzio/djv#readme) is currently the fastest JSON-schema validator out there.
29+
[`ajv`](https://github.com/epoberezkin/ajv) is currently the fastest JSON-schema validator out there.
3530

3631
The fastest validator has 100%, the rest a lower score relative to the fastest.
3732
If a validator has a score of 5% that means that it's speed is 5% of the fastest,
@@ -43,31 +38,31 @@ This test suite uses the [official JSON-schema test suite](https://github.com/js
4338

4439
If a validator does not pass a test in the official test suite, it will show up in these results.
4540

46-
![failing tests](https://chart.googleapis.com/chart?chxt=x,y&cht=bhs&chco=76A4FB&chls=2.0&chbh=15,4,1&chs=600x419&chxl=-1:|json-schema-library|djv|jsonschema|skeemas|ajv|jsen|z-schema|is-my-json-valid|jayschema|jjv|schemasaurus|jsck|themis|tv4|json-schema-validator-generator|request-validator|jassi|json-model|JSV|json-gate|revalidator&chd=t:1,1,6,6,7,9,13,14,20,26,29,29,30,33,34,39,42,54,72,97,152&chxr=0,0,152&chds=0,152)
41+
![failing tests](https://chart.googleapis.com/chart?chxt=x,y&cht=bhs&chco=76A4FB&chls=2.0&chbh=15,4,1&chs=600x419&chxl=-1:|ajv|json-schema-library|jsonschema|skeemas|z-schema|is-my-json-valid|djv|jayschema|jsen|jjv|jsck|tv4|request-validator|schemasaurus|jassi|themis|json-schema-validator-generator|json-model|JSV|json-gate|revalidator&chd=t:1,2,8,8,13,16,17,22,23,27,35,35,41,44,48,50,54,65,89,126,189&chxr=0,0,189&chds=0,189)
4742

4843
|Validator|Number of failing tests (click for details)|
4944
|---------|-----------------------|
50-
|[`json-schema-library`](https://github.com/sagold/json-schema-library)|[1](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/json-schema-library.md)|
51-
|[`djv`](https://github.com/korzio/djv#readme)|[1](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/djv.md)|
52-
|[`jsonschema`](https://github.com/tdegrunt/jsonschema#readme)|[6](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/jsonschema.md)|
53-
|[`skeemas`](https://github.com/Prestaul/skeemas#readme)|[6](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/skeemas.md)|
54-
|[`ajv`](https://github.com/epoberezkin/ajv)|[7](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/ajv.md)|
55-
|[`jsen`](https://github.com/bugventure/jsen)|[9](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/jsen.md)|
45+
|[`ajv`](https://github.com/epoberezkin/ajv)|[1](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/ajv.md)|
46+
|[`json-schema-library`](https://github.com/sagold/json-schema-library)|[2](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/json-schema-library.md)|
47+
|[`jsonschema`](https://github.com/tdegrunt/jsonschema#readme)|[8](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/jsonschema.md)|
48+
|[`skeemas`](https://github.com/Prestaul/skeemas#readme)|[8](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/skeemas.md)|
5649
|[`z-schema`](https://github.com/zaggino/z-schema)|[13](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/z-schema.md)|
57-
|[`is-my-json-valid`](https://github.com/mafintosh/is-my-json-valid)|[14](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/is-my-json-valid.md)|
58-
|[`jayschema`](https://github.com/natesilva/jayschema)|[20](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/jayschema.md)|
59-
|[`jjv`](https://github.com/acornejo/jjv)|[26](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/jjv.md)|
60-
|[`schemasaurus`](https://github.com/AlexeyGrishin/schemasaurus)|[29](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/schemasaurus.md)|
61-
|[`jsck`](https://github.com/pandastrike/jsck#readme)|[29](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/jsck.md)|
62-
|[`themis`](https://github.com/playlyfe/themis)|[30](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/themis.md)|
63-
|[`tv4`](https://github.com/geraintluff/tv4)|[33](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/tv4.md)|
64-
|[`json-schema-validator-generator`](https://github.com/danwang/json-schema-validator-generator)|[34](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/json-schema-validator-generator.md)|
65-
|[`request-validator`](https://github.com/bugventure/request-validator)|[39](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/request-validator.md)|
66-
|[`jassi`](https://github.com/iclanzan/jassi)|[42](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/jassi.md)|
67-
|[`json-model`](https://github.com/geraintluff/json-model)|[54](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/json-model.md)|
68-
|[`JSV`](http://github.com/garycourt/JSV)|[72](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/JSV.md)|
69-
|[`json-gate`](https://github.com/oferei/json-gate#readme)|[97](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/json-gate.md)|
70-
|[`revalidator`](https://github.com/flatiron/revalidator)|[152](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/revalidator.md)|
50+
|[`is-my-json-valid`](https://github.com/mafintosh/is-my-json-valid)|[16](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/is-my-json-valid.md)|
51+
|[`djv`](https://github.com/korzio/djv#readme)|[17](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/djv.md)|
52+
|[`jayschema`](https://github.com/natesilva/jayschema)|[22](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/jayschema.md)|
53+
|[`jsen`](https://github.com/bugventure/jsen)|[23](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/jsen.md)|
54+
|[`jjv`](https://github.com/acornejo/jjv)|[27](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/jjv.md)|
55+
|[`jsck`](https://github.com/pandastrike/jsck#readme)|[35](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/jsck.md)|
56+
|[`tv4`](https://github.com/geraintluff/tv4)|[35](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/tv4.md)|
57+
|[`request-validator`](https://github.com/bugventure/request-validator)|[41](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/request-validator.md)|
58+
|[`schemasaurus`](https://github.com/AlexeyGrishin/schemasaurus)|[44](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/schemasaurus.md)|
59+
|[`jassi`](https://github.com/iclanzan/jassi)|[48](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/jassi.md)|
60+
|[`themis`](https://github.com/playlyfe/themis)|[50](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/themis.md)|
61+
|[`json-schema-validator-generator`](https://github.com/danwang/json-schema-validator-generator)|[54](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/json-schema-validator-generator.md)|
62+
|[`json-model`](https://github.com/geraintluff/json-model)|[65](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/json-model.md)|
63+
|[`JSV`](http://github.com/garycourt/JSV)|[89](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/JSV.md)|
64+
|[`json-gate`](https://github.com/oferei/json-gate#readme)|[126](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/json-gate.md)|
65+
|[`revalidator`](https://github.com/flatiron/revalidator)|[189](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/revalidator.md)|
7166

7267
Some validators have deliberately chosen not to support parts of the spec. Go to the homepage of the validator to learn if
7368
that is the case for these tests.
@@ -79,8 +74,8 @@ Number of tests that caused side-effects. The schema or data was altered by the
7974
|Validator|Number of side-effects (BAD)|
8075
|---------|----------------------------|
8176
|[`tv4`](https://github.com/geraintluff/tv4)|[11](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/tv4-side-effects.md)|
82-
|[`revalidator`](https://github.com/flatiron/revalidator)|[320](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/revalidator-side-effects.md)|
83-
|[`json-model`](https://github.com/geraintluff/json-model)|[338](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/json-model-side-effects.md)|
77+
|[`revalidator`](https://github.com/flatiron/revalidator)|[396](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/revalidator-side-effects.md)|
78+
|[`json-model`](https://github.com/geraintluff/json-model)|[422](https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/json-model-side-effects.md)|
8479

8580
Validators not in the list have no side-effects on data or schemas.
8681

0 commit comments

Comments
 (0)