@@ -8,19 +8,15 @@ for validators that cause side-effects on schema or data.
8
8
9
9
# Performance
10
10
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 )
12
12
13
13
| Validator| Relative speed| Number of test runs per second|
14
14
| ---------| :------------:| :----------------------------:|
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%)|
20
16
21
17
235 tests are run in each test run.
22
18
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),
24
20
25
21
(validators not in the results above where excluded because of failing tests - see below for details)
26
22
@@ -36,32 +32,32 @@ This test suite uses the [official JSON-schema test suite](https://github.com/js
36
32
37
33
If a validator does not pass a test in the official test suite, it will show up in these results.
38
34
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 )
40
36
41
37
| Validator| Number of failing tests (click for details)|
42
38
| ---------| -----------------------|
43
39
| [ ` @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 ) |
56
46
| [ ` 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 ) |
65
61
66
62
Some validators have deliberately chosen not to support parts of the spec. Go to the homepage of the validator to learn if
67
63
that 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
72
68
73
69
| Validator| Number of side-effects (BAD)|
74
70
| ---------| ----------------------------|
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 ) |
75
72
| [ ` 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 ) |
78
76
79
77
Validators not in the list have no side-effects on data or schemas.
80
78
0 commit comments