@@ -8,20 +8,20 @@ for validators that cause side-effects on schema or data. The top 6 validators t
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=62,4,1&chs=600x416&chxl=-1:|ajv|@exodus/ ; schemasafe|is-my-json-valid|djv|@cfworker/ ; json-schema|jsonschema&chd=t:100,69.8,49.8,12.6,4.2 ,1.1 )
11
+ ![ performance] ( https://chart.googleapis.com/chart?chxt=x,y&cht=bhs&chco=76A4FB&chls=2.0&chbh=62,4,1&chs=600x416&chxl=-1:|ajv|@exodus/ ; schemasafe|is-my-json-valid|djv|@cfworker/ ; json-schema|jsonschema&chd=t:100,69.2,51.5,13.1,5.1 ,1.2 )
12
12
13
13
| Validator| Relative speed| Number of test runs per second|
14
14
| ---------| :------------:| :----------------------------:|
15
- | [ ` ajv ` ] ( https://github.com/ajv-validator/ajv ) | 100%| 17743 (± 0.42 %)|
16
- | [ ` @exodus/schemasafe ` ] ( https://github.com/ExodusMovement/schemasafe ) | 69.8% | 12383 (± 0.35 %)|
17
- | [ ` is-my-json-valid ` ] ( https://github.com/mafintosh/is-my-json-valid#readme ) | 49.8% | 8840 (± 0.27 %)|
18
- | [ ` djv ` ] ( https://github.com/korzio/djv#readme ) | 12.6% | 2239 (± 1.4 %)|
19
- | [ ` @cfworker/json-schema ` ] ( https://github.com/cfworker/cfworker/tree/master/packages/json-schema/README.md ) | 4.2% | 753 (± 1%)|
20
- | [ ` jsonschema ` ] ( https://github.com/tdegrunt/jsonschema#readme ) | 1.1% | 197 (± 1.22 %)|
15
+ | [ ` ajv ` ] ( https://github.com/ajv-validator/ajv ) | 100%| 17000 (± 0.34 %)|
16
+ | [ ` @exodus/schemasafe ` ] ( https://github.com/ExodusMovement/schemasafe ) | 69.2% | 11760 (± 0.89 %)|
17
+ | [ ` is-my-json-valid ` ] ( https://github.com/mafintosh/is-my-json-valid#readme ) | 51.5% | 8757 (± 0.37 %)|
18
+ | [ ` djv ` ] ( https://github.com/korzio/djv#readme ) | 13.1% | 2223 (± 1.24 %)|
19
+ | [ ` @cfworker/json-schema ` ] ( https://github.com/cfworker/cfworker/tree/master/packages/json-schema/README.md ) | 5.1% | 865 (± 1.15 %)|
20
+ | [ ` jsonschema ` ] ( https://github.com/tdegrunt/jsonschema#readme ) | 1.2% | 198 (± 1.11 %)|
21
21
22
22
884 tests are run in each test run.
23
23
24
- Validators tested: [`@exodus/schemasafe (1.0.0-rc.3)`](https://github.com/ExodusMovement/schemasafe), [`@cfworker/json-schema (1.6.3)`](https://github.com/cfworker/cfworker/tree/master/packages/json-schema/README.md), [`ajv (6.12.6)`](https://github.com/ajv-validator/ajv), [`jsonschema (1.4.0)`](https://github.com/tdegrunt/jsonschema#readme), [`djv (2.1.3-alpha.0)`](https://github.com/korzio/djv#readme), [`is-my-json-valid (2.20.5)`](https://github.com/mafintosh/is-my-json-valid#readme), [`json-schema-library (4.1.4)`](https://github.com/sagold/json-schema-library), [`jsen (0.6.6)`](https://github.com/bugventure/jsen), [`tv4 (1.3.0)`](https://github.com/geraintluff/tv4), [`z-schema (5.0.0)`](https://github.com/zaggino/z-schema), [`jjv (1.0.2)`](https://github.com/acornejo/jjv), [`jassi (0.1.2)`](https://github.com/iclanzan/jassi), [`themis (1.1.6)`](https://github.com/playlyfe/themis), [`request-validator (0.3.3)`](https://github.com/bugventure/request-validator), [`json-schema-validator-generator (1.1.11)`](https://github.com/danwang/json-schema-validator-generator), [`jsck (0.3.2)`](https://github.com/pandastrike/jsck#readme), [`JSV (4.0.2)`](http://github.com/garycourt/JSV), [`json-model (0.2.24)`](https://github.com/geraintluff/json-model), [`skeemas (1.2.5)`](https://github.com/Prestaul/skeemas#readme), [`schemasaurus (0.7.8)`](https://github.com/AlexeyGrishin/schemasaurus), [`json-gate (0.8.23)`](https://github.com/oferei/json-gate#readme), [`revalidator (0.3.1)`](https://github.com/flatiron/revalidator),
24
+ Validators tested: [`@exodus/schemasafe (1.0.0-rc.3)`](https://github.com/ExodusMovement/schemasafe), [`@cfworker/json-schema (1.6.3)`](https://github.com/cfworker/cfworker/tree/master/packages/json-schema/README.md), [`ajv (6.12.6)`](https://github.com/ajv-validator/ajv), [`jsonschema (1.4.0)`](https://github.com/tdegrunt/jsonschema#readme), [`djv (2.1.3-alpha.0)`](https://github.com/korzio/djv#readme), [`is-my-json-valid (2.20.5)`](https://github.com/mafintosh/is-my-json-valid#readme), [`json-schema-library (4.1.4)`](https://github.com/sagold/json-schema-library), [`jsen (0.6.6)`](https://github.com/bugventure/jsen), [`tv4 (1.3.0)`](https://github.com/geraintluff/tv4), [`z-schema (5.0.0)`](https://github.com/zaggino/z-schema), [`jjv (1.0.2)`](https://github.com/acornejo/jjv), [`jassi (0.1.2)`](https://github.com/iclanzan/jassi), [`themis (1.1.6)`](https://github.com/playlyfe/themis), [`request-validator (0.3.3)`](https://github.com/bugventure/request-validator), [`json-schema-validator-generator (1.1.11)`](https://github.com/danwang/json-schema-validator-generator), [`json-model (0.2.24)`](https://github.com/geraintluff/json-model), [`jsck (0.3.2)`](https://github.com/pandastrike/jsck#readme), [`JSV (4.0.2)`](http://github.com/garycourt/JSV), [`skeemas (1.2.5)`](https://github.com/Prestaul/skeemas#readme), [`schemasaurus (0.7.8)`](https://github.com/AlexeyGrishin/schemasaurus), [`json-gate (0.8.23)`](https://github.com/oferei/json-gate#readme), [`revalidator (0.3.1)`](https://github.com/flatiron/revalidator),
25
25
26
26
(validators not in the results above where excluded because of failing tests - see below for details)
27
27
@@ -33,7 +33,7 @@ This test suite uses the [official JSON-schema test suite](https://github.com/js
33
33
34
34
If a validator does not pass a test in the official test suite, it will show up in these results.
35
35
36
- ![ 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|jsonschema|djv|is-my-json-valid|json-schema-library|jsen|tv4|z-schema|jjv|jassi|themis|request-validator|json-schema-validator-generator|jsck|JSV| json-model|skeemas|schemasaurus|json-gate|revalidator&chd=t:8,9,10,33,99,111,140,141,155,169,171,172,189,207,216,227,234 ,234,235,237,342,384&chxr=0,0,384&chds=0,384 )
36
+ ![ 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|jsonschema|djv|is-my-json-valid|json-schema-library|jsen|tv4|z-schema|jjv|jassi|themis|request-validator|json-schema-validator-generator|json-model|jsck|JSV| skeemas|schemasaurus|json-gate|revalidator&chd=t:8,9,10,33,99,111,140,141,155,169,171,172,189,207,216,225,227 ,234,235,237,342,384&chxr=0,0,384&chds=0,384 )
37
37
38
38
| Validator| Number of failing tests (click for details)|
39
39
| ---------| -----------------------|
@@ -52,9 +52,9 @@ If a validator does not pass a test in the official test suite, it will show up
52
52
| [ ` themis ` ] ( https://github.com/playlyfe/themis ) | [ 189] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/themis.md ) |
53
53
| [ ` request-validator ` ] ( https://github.com/bugventure/request-validator ) | [ 207] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/request-validator.md ) |
54
54
| [ ` json-schema-validator-generator ` ] ( https://github.com/danwang/json-schema-validator-generator ) | [ 216] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/json-schema-validator-generator.md ) |
55
+ | [ ` json-model ` ] ( https://github.com/geraintluff/json-model ) | [ 225] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/json-model.md ) |
55
56
| [ ` jsck ` ] ( https://github.com/pandastrike/jsck#readme ) | [ 227] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/jsck.md ) |
56
57
| [ ` JSV ` ] ( http://github.com/garycourt/JSV ) | [ 234] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/JSV.md ) |
57
- | [ ` json-model ` ] ( https://github.com/geraintluff/json-model ) | [ 234] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/json-model.md ) |
58
58
| [ ` skeemas ` ] ( https://github.com/Prestaul/skeemas#readme ) | [ 235] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/skeemas.md ) |
59
59
| [ ` schemasaurus ` ] ( https://github.com/AlexeyGrishin/schemasaurus ) | [ 237] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/schemasaurus.md ) |
60
60
| [ ` json-gate ` ] ( https://github.com/oferei/json-gate#readme ) | [ 342] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/json-gate.md ) |
@@ -69,13 +69,14 @@ Number of tests that caused side-effects. The schema or data was altered by the
69
69
70
70
| Validator| Number of side-effects (BAD)|
71
71
| ---------| ----------------------------|
72
- | [ ` json-model ` ] ( https://github.com/geraintluff/json-model ) | [ 816] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/json-model-side-effects.md ) |
73
72
| [ ` revalidator ` ] ( https://github.com/flatiron/revalidator ) | [ 818] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/revalidator-side-effects.md ) |
73
+ | [ ` json-model ` ] ( https://github.com/geraintluff/json-model ) | [ 833] ( https://github.com/ebdrup/json-schema-benchmark/blob/master/reports/json-model-side-effects.md ) |
74
74
75
75
Validators not in the list have no side-effects on data or schemas.
76
76
77
77
# Tests for other JSON-schema versions
78
78
79
+ - [ draft7] ( https://github.com/ebdrup/json-schema-benchmark/tree/master/draft7 )
79
80
- [ draft6] ( https://github.com/ebdrup/json-schema-benchmark/ )
80
81
- [ draft4] ( https://github.com/ebdrup/json-schema-benchmark/tree/master/draft4 )
81
82
0 commit comments