@@ -8,19 +8,15 @@ 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=76 ,4,1&chs=600x420&chxl=-1:|@exodus/ ; schemasafe|ajv|is-my-json-valid|z-schema|@cfworker &#x 2F ; json-schema& chd=t:100,62.3,37.3,3.6,2.3 )
11+ ![ performance] ( https://chart.googleapis.com/chart?chxt=x,y&cht=bhs&chco=76A4FB&chls=2.0&chbh=396 ,4,1&chs=600x420&chxl=-1:|@exodus/ ; schemasafe& chd=t:100 )
1212
1313| Validator| Relative speed| Number of test runs per second|
1414| ---------| :------------:| :----------------------------:|
15- | [ ` @exodus/schemasafe ` ] ( https://github.com/ExodusMovement/schemasafe ) | 100%| 19731 (± 10.62%)|
16- | [ ` ajv ` ] ( https://github.com/ajv-validator/ajv ) | 62.3%| 12290 (± 18.42%)|
17- | [ ` is-my-json-valid ` ] ( https://github.com/mafintosh/is-my-json-valid#readme ) | 37.3%| 7367 (± 6.2%)|
18- | [ ` z-schema ` ] ( https://github.com/zaggino/z-schema ) | 3.6%| 705 (± 8.35%)|
19- | [ ` @cfworker/json-schema ` ] ( https://github.com/cfworker/cfworker/tree/master/packages/json-schema/README.md ) | 2.3%| 458 (± 4.89%)|
15+ | [ ` @exodus/schemasafe ` ] ( https://github.com/ExodusMovement/schemasafe ) | 100%| 32050 (± 1.15%)|
2016
2117235 tests are run in each test run.
2218
23- Validators tested: [`json-schema-validator-generator (1.1.11)`](https://github.com/danwang/json-schema-validator-generator), [`is-my-json-valid (2.20.4)`](https://github.com/mafintosh/is-my-json-valid#readme), [`jsen (0.6.6)`](https://github.com/bugventure/jsen), [`ajv (6.12.3)`](https://github.com/ajv-validator/ajv), [`themis (1.1.6)`](https://github.com/playlyfe/themis), [`z-schema (4.2.3)`](https://github.com/zaggino/z-schema), [`jjv (1.0.2)`](https://github.com/acornejo/jjv), [`djv (2.1.3-alpha.0)`](https://github.com/korzio/djv#readme), [`skeemas (1.2.5)`](https://github.com/Prestaul/skeemas#readme), [`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.6)`](https://github.com/tdegrunt/jsonschema#readme), [`revalidator (0.3.1)`](https://github.com/flatiron/revalidator), [`json-schema-library (4.1.2)`](https://github.com/sagold/json-schema-library), [`@exodus/schemasafe (1.0.0-alpha.4)`](https://github.com/ExodusMovement/schemasafe), [`@cfworker/json-schema (1.2.14)`](https://github.com/cfworker/cfworker/tree/master/packages/json-schema/README.md),
19+ Validators tested: [`json-schema-validator-generator (1.1.11)`](https://github.com/danwang/json-schema-validator-generator), [`is-my-json-valid (2.20.4)`](https://github.com/mafintosh/is-my-json-valid#readme), [`jsen (0.6.6)`](https://github.com/bugventure/jsen), [`ajv (6.12.3)`](https://github.com/ajv-validator/ajv), [`themis (1.1.6)`](https://github.com/playlyfe/themis), [`z-schema (4.2.3)`](https://github.com/zaggino/z-schema), [`jjv (1.0.2)`](https://github.com/acornejo/jjv), [`djv (2.1.3-alpha.0)`](https://github.com/korzio/djv#readme), [`skeemas (1.2.5)`](https://github.com/Prestaul/skeemas#readme), [`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.6)`](https://github.com/tdegrunt/jsonschema#readme), [`revalidator (0.3.1)`](https://github.com/flatiron/revalidator), [`json-schema-library (4.1.2)`](https://github.com/sagold/json-schema-library), [`@exodus/schemasafe (1.0.0-beta.2)`](https://github.com/ExodusMovement/schemasafe), [`@cfworker/json-schema (1.2.18)`](https://github.com/cfworker/cfworker/tree/master/packages/json-schema/README.md),
2420
2521(validators not in the results above where excluded because of failing tests - see below for details)
2622
@@ -36,32 +32,32 @@ This test suite uses the [official JSON-schema test suite](https://github.com/js
3632
3733If a validator does not pass a test in the official test suite, it will show up in these results.
3834
39- ![ failing tests] ( https://chart.googleapis.com/chart?chxt=x,y&cht=bhs&chco=76A4FB&chls=2.0&chbh=14,4,1&chs=600x416&chxl=-1:|@exodus/ ; schemasafe|@cfworker/ ; json-schema|ajv|z-schema|jsonschema| is-my-json-valid|jsen|json -schema-library| jsck|tv4|themis|request-validator |skeemas|jassi| schemasaurus|json-schema-validator-generator|jjv|djv|json-model|JSV|json-gate|revalidator &chd=t:1,7,17,18,23,25,30,30,51,53,56,64,67,69,71,75,86,93,103,125,208,277 &chxr=0,0,277 &chds=0,277 )
35+ ![ failing tests] ( https://chart.googleapis.com/chart?chxt=x,y&cht=bhs&chco=76A4FB&chls=2.0&chbh=14,4,1&chs=600x416&chxl=-1:|@exodus/ ; schemasafe|jsen| @cfworker/ ; json-schema|is-my-json-valid|z -schema|ajv| jsck|jassi|json-schema-library |skeemas|schemasaurus|json-schema-validator-generator|jjv|djv|themis|request-validator| json-model|JSV|jsonschema|revalidator| json-gate|tv4 &chd=t:1,40,40,51,52,55,64,69,71,77,87,89,94,95,96,128,237,281,292,319,416,696 &chxr=0,0,696 &chds=0,696 )
4036
4137| Validator| Number of failing tests (click for details)|
4238| ---------| -----------------------|
4339| [ ` @exodus/schemasafe ` ] ( https://github.com/ExodusMovement/schemasafe ) | [ 1] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/@exodus/ ; schemasafe.md ) |
44- | [ ` @cfworker/json-schema ` ] ( https://github.com/cfworker/cfworker/tree/master/packages/json-schema/README.md ) | [ 7] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/@cfworker/ ; json-schema.md ) |
45- | [ ` ajv ` ] ( https://github.com/ajv-validator/ajv ) | [ 17] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/ajv.md ) |
46- | [ ` z-schema ` ] ( https://github.com/zaggino/z-schema ) | [ 18] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/z-schema.md ) |
47- | [ ` jsonschema ` ] ( https://github.com/tdegrunt/jsonschema#readme ) | [ 23] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/jsonschema.md ) |
48- | [ ` is-my-json-valid ` ] ( https://github.com/mafintosh/is-my-json-valid#readme ) | [ 25] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/is-my-json-valid.md ) |
49- | [ ` jsen ` ] ( https://github.com/bugventure/jsen ) | [ 30] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/jsen.md ) |
50- | [ ` json-schema-library ` ] ( https://github.com/sagold/json-schema-library ) | [ 30] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/json-schema-library.md ) |
51- | [ ` jsck ` ] ( https://github.com/pandastrike/jsck#readme ) | [ 51] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/jsck.md ) |
52- | [ ` tv4 ` ] ( https://github.com/geraintluff/tv4 ) | [ 53] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/tv4.md ) |
53- | [ ` themis ` ] ( https://github.com/playlyfe/themis ) | [ 56] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/themis.md ) |
54- | [ ` request-validator ` ] ( https://github.com/bugventure/request-validator ) | [ 64] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/request-validator.md ) |
55- | [ ` skeemas ` ] ( https://github.com/Prestaul/skeemas#readme ) | [ 67] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/skeemas.md ) |
40+ | [ ` jsen ` ] ( https://github.com/bugventure/jsen ) | [ 40] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/jsen.md ) |
41+ | [ ` @cfworker/json-schema ` ] ( https://github.com/cfworker/cfworker/tree/master/packages/json-schema/README.md ) | [ 40] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/@cfworker/ ; json-schema.md ) |
42+ | [ ` is-my-json-valid ` ] ( https://github.com/mafintosh/is-my-json-valid#readme ) | [ 51] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/is-my-json-valid.md ) |
43+ | [ ` z-schema ` ] ( https://github.com/zaggino/z-schema ) | [ 52] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/z-schema.md ) |
44+ | [ ` ajv ` ] ( https://github.com/ajv-validator/ajv ) | [ 55] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/ajv.md ) |
45+ | [ ` jsck ` ] ( https://github.com/pandastrike/jsck#readme ) | [ 64] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/jsck.md ) |
5646| [ ` jassi ` ] ( https://github.com/iclanzan/jassi ) | [ 69] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/jassi.md ) |
57- | [ ` schemasaurus ` ] ( https://github.com/AlexeyGrishin/schemasaurus ) | [ 71] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/schemasaurus.md ) |
58- | [ ` json-schema-validator-generator ` ] ( https://github.com/danwang/json-schema-validator-generator ) | [ 75] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/json-schema-validator-generator.md ) |
59- | [ ` jjv ` ] ( https://github.com/acornejo/jjv ) | [ 86] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/jjv.md ) |
60- | [ ` djv ` ] ( https://github.com/korzio/djv#readme ) | [ 93] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/djv.md ) |
61- | [ ` json-model ` ] ( https://github.com/geraintluff/json-model ) | [ 103] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/json-model.md ) |
62- | [ ` JSV ` ] ( http://github.com/garycourt/JSV ) | [ 125] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/JSV.md ) |
63- | [ ` json-gate ` ] ( https://github.com/oferei/json-gate#readme ) | [ 208] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/json-gate.md ) |
64- | [ ` revalidator ` ] ( https://github.com/flatiron/revalidator ) | [ 277] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/revalidator.md ) |
47+ | [ ` json-schema-library ` ] ( https://github.com/sagold/json-schema-library ) | [ 71] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/json-schema-library.md ) |
48+ | [ ` skeemas ` ] ( https://github.com/Prestaul/skeemas#readme ) | [ 77] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/skeemas.md ) |
49+ | [ ` schemasaurus ` ] ( https://github.com/AlexeyGrishin/schemasaurus ) | [ 87] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/schemasaurus.md ) |
50+ | [ ` json-schema-validator-generator ` ] ( https://github.com/danwang/json-schema-validator-generator ) | [ 89] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/json-schema-validator-generator.md ) |
51+ | [ ` jjv ` ] ( https://github.com/acornejo/jjv ) | [ 94] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/jjv.md ) |
52+ | [ ` djv ` ] ( https://github.com/korzio/djv#readme ) | [ 95] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/djv.md ) |
53+ | [ ` themis ` ] ( https://github.com/playlyfe/themis ) | [ 96] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/themis.md ) |
54+ | [ ` request-validator ` ] ( https://github.com/bugventure/request-validator ) | [ 128] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/request-validator.md ) |
55+ | [ ` json-model ` ] ( https://github.com/geraintluff/json-model ) | [ 237] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/json-model.md ) |
56+ | [ ` JSV ` ] ( http://github.com/garycourt/JSV ) | [ 281] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/JSV.md ) |
57+ | [ ` jsonschema ` ] ( https://github.com/tdegrunt/jsonschema#readme ) | [ 292] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/jsonschema.md ) |
58+ | [ ` revalidator ` ] ( https://github.com/flatiron/revalidator ) | [ 319] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/revalidator.md ) |
59+ | [ ` json-gate ` ] ( https://github.com/oferei/json-gate#readme ) | [ 416] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/json-gate.md ) |
60+ | [ ` tv4 ` ] ( https://github.com/geraintluff/tv4 ) | [ 696] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/tv4.md ) |
6561
6662Some validators have deliberately chosen not to support parts of the spec. Go to the homepage of the validator to learn if
6763that is the case for these tests.
@@ -72,9 +68,11 @@ Number of tests that caused side-effects. The schema or data was altered by the
7268
7369| Validator| Number of side-effects (BAD)|
7470| ---------| ----------------------------|
71+ | [ ` json-gate ` ] ( https://github.com/oferei/json-gate#readme ) | [ 3] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/json-gate-side-effects.md ) |
7572| [ ` tv4 ` ] ( https://github.com/geraintluff/tv4 ) | [ 13] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/tv4-side-effects.md ) |
76- | [ ` revalidator ` ] ( https://github.com/flatiron/revalidator ) | [ 616] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/revalidator-side-effects.md ) |
77- | [ ` json-model ` ] ( https://github.com/geraintluff/json-model ) | [ 643] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/json-model-side-effects.md ) |
73+ | [ ` jsonschema ` ] ( https://github.com/tdegrunt/jsonschema#readme ) | [ 23] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/jsonschema-side-effects.md ) |
74+ | [ ` json-model ` ] ( https://github.com/geraintluff/json-model ) | [ 957] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/json-model-side-effects.md ) |
75+ | [ ` revalidator ` ] ( https://github.com/flatiron/revalidator ) | [ 968] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/revalidator-side-effects.md ) |
7876
7977Validators not in the list have no side-effects on data or schemas.
8078
0 commit comments