Generated on Tuesday, October 28, 2014 in 169.8 minutes
z-schema jayschema jjv jsonschema tv4 json-model themis
basicObject 15% (15421) 0% (204) 3% (3385) 0% (387) 10% (9746) 29% (29009) 100% (96757)
advancedObject 26% (2704) 0% (24) 9% (933) 0% (90) 1% (147) 36% (3729) 100% (10173)
additionalItems as schema, additional items match schema 15% (92360) 0% (585) 4% (25874) 0% (1799) 8% (49694) 25% (149444) 100% (593846)
additionalItems as schema, additional items do not match schema 13% (69967) 0% (577) 4% (23342) 0% (1852) 0% (1484) 36% (184002) 100% (510208)
items is schema, no additionalItems, all items match schema 6% (88263) 0% (697) 1% (22169) 0% (1730) 4% (59507) 8% (120919) 100% (1412048)
array of items with no additionalItems, no additional items present 24% (110571) 0% (775) 7% (33184) 0% (2552) 10% (47916) 51% (228768) 100% (446902)
array of items with no additionalItems, additional items are not permitted 28% (107135) 0% (730) 8% (33006) 0% (2492) 0% (1535) 70% (267175) 100% (381396)
additionalItems as false without items, items defaults to empty schema so everything is valid 11% (351870) 0% (818) 14% (428019) 0% (9986) 3% (106296) 20% (627339) 100% (3048298)
additionalItems as false without items, ignores non-arrays 7% (201239) 0% (904) 12% (332827) 0% (9991) 2% (66391) 23% (628884) 100% (2657712)
additionalItems are allowed by default, only the first item is validated 17% (172874) 0% (739) 7% (72146) 0% (4357) 5% (55023) 39% (381746) 100% (972892)
additionalProperties being false does not allow other properties, no additional properties is valid 8% (79019) 0% (694) 5% (50865) 0% (3253) 3% (33275) 17% (168204) 100% (980409)
additionalProperties being false does not allow other properties, an additional property is invalid 8% (40174) 0% (638) 5% (23463) 0% (3451) 0% (1704) 27% (122328) 100% (447339)
additionalProperties being false does not allow other properties, ignores non-objects 19% (328207) 0% (822) 20% (356505) 0% (3496) 3% (51502) 36% (627046) 100% (1706996)
additionalProperties being false does not allow other properties, patternProperties are not additional properties 7% (49722) 0% (661) 4% (30204) 0% (2779) 3% (23378) 16% (106129) 100% (638761)
additionalProperties allows a schema which should validate, no additional properties is valid 9% (131907) 0% (720) 5% (70937) 0% (3418) 3% (49346) 15% (202510) 100% (1348603)
additionalProperties allows a schema which should validate, an additional valid property is valid 16% (95368) 0% (700) 4% (24920) 0% (2507) 7% (41569) 17% (96405) 100% (561491)
additionalProperties allows a schema which should validate, an additional invalid property is invalid 12% (63836) 0% (619) 5% (28457) 0% (2331) 0% (1544) 17% (85895) 100% (495289)
additionalProperties are allowed by default, additional properties are allowed 8% (92914) 0% (735) 3% (39096) 0% (3341) 4% (48497) 20% (220440) 100% (1094090)
allOf, allOf 10% (46840) 0% (463) 4% (19665) 0% (2605) 4% (20364) 38% (178679) 100% (466897)
allOf, mismatch second 14% (49893) 0% (471) 28% (101986) 1% (4258) 0% (1535) 64% (228235) 100% (351931)
allOf, mismatch first 25% (75722) 0% (479) 10% (32674) 0% (2849) 0% (1410) 68% (205294) 100% (299809)
allOf, wrong type 11% (40368) 0% (445) 15% (54064) 1% (3675) 0% (1541) 47% (165900) 100% (346042)
allOf with base schema, valid 12% (38321) 0% (407) 4% (15034) 0% (2249) 6% (19107) 48% (148001) 100% (302600)
allOf with base schema, mismatch base schema 12% (38494) 0% (403) 6% (18717) 0% (2079) 0% (1440) 56% (172748) 100% (304425)
allOf with base schema, mismatch first allOf 16% (40534) 0% (390) 36% (91143) 1% (2655) 0% (1446) 66% (164697) 100% (249039)
allOf with base schema, mismatch second allOf 19% (51915) 0% (416) 9% (24570) 0% (2241) 0% (1417) 66% (178759) 100% (270531)
allOf with base schema, mismatch both 26% (69873) 0% (402) 37% (98435) 1% (2974) 0% (1443) 82% (214324) 100% (260481)
allOf simple types, valid 16% (166840) 0% (698) 4% (48232) 0% (8490) 6% (63920) 34% (358797) 100% (1031235)
allOf simple types, mismatch one 10% (93231) 0% (643) 10% (93651) 0% (7760) 0% (1488) 44% (388904) 100% (870064)
anyOf, first anyOf valid 4% (90220) 0% (781) 4% (75442) 0% (7536) 3% (63326) 6% (115179) 100% (1869422)
anyOf, second anyOf valid 22% (225486) 0% (630) 5% (56202) 0% (6657) 0% (1496) 9% (96395) 100% (995991)
anyOf, both anyOf valid 10% (197715) 0% (750) 3% (73283) 0% (7616) 2% (54896) 4% (81565) 100% (1883922)
anyOf, neither anyOf valid 7% (61345) 0% (559) 8% (64797) 0% (6061) 0% (539) 19% (152179) 100% (783220)
anyOf with base schema, mismatch base schema 14% (212102) 0% (822) 46% (685635) 0% (6643) 0% (1553) 5% (78352) 100% (1481475)
anyOf with base schema, one anyOf valid 30% (193154) 0% (682) 4% (27235) 1% (8293) 0% (1589) 13% (83544) 100% (629468)
anyOf with base schema, both anyOf invalid 12% (63454) 0% (556) 5% (29566) 1% (7244) 0% (518) 23% (119341) 100% (509553)
dependencies, neither 11% (199132) 0% (899) 23% (413564) 0% (12169) 3% (58941) 29% (532648) 100% (1776831)
dependencies, nondependant 10% (167066) 0% (854) 21% (335750) 0% (12006) 3% (52552) 35% (565306) 100% (1576580)
dependencies, with dependency 11% (130542) 0% (835) 24% (284877) 0% (5661) 4% (48797) 47% (560300) 100% (1174598)
dependencies, missing dependency 14% (99672) 0% (763) 61% (418020) 0% (5640) 0% (1508) 65% (440937) 100% (675727)
dependencies, ignores non-objects 19% (368159) 0% (991) 7% (139948) 0% (11843) 3% (74200) 37% (730766) 100% (1935897)
multiple dependencies, neither 14% (233688) 0% (867) 21% (359499) 0% (12431) 4% (67818) 30% (500428) 100% (1654518)
multiple dependencies, nondependants 8% (145189) 0% (862) 18% (311135) 0% (11315) 2% (51026) 31% (541295) 100% (1722669)
multiple dependencies, with dependencies 12% (122987) 0% (882) 23% (226748) 0% (5173) 4% (44694) 45% (435624) 100% (966268)
multiple dependencies, missing dependency 16% (88936) 0% (829) 65% (358012) 1% (5474) 0% (1471) 72% (395690) 100% (546726)
multiple dependencies, missing other dependency 11% (85731) 0% (795) 54% (394875) 0% (5230) 0% (1317) 58% (424111) 100% (725932)
multiple dependencies, missing both dependencies 10% (78639) 0% (771) 57% (409786) 0% (5009) 0% (1600) 47% (338160) 100% (715530)
multiple dependencies subschema, valid 12% (75428) 0% (570) 4% (27581) 0% (2239) 5% (33252) 29% (175937) 100% (597828)
multiple dependencies subschema, no dependency 9% (149936) 0% (840) 20% (308030) 0% (10105) 3% (53718) 33% (509852) 100% (1536433)
multiple dependencies subschema, wrong type 11% (50063) 0% (548) 7% (32851) 0% (2221) 0% (1499) 41% (180755) 100% (430987)
multiple dependencies subschema, wrong type other 10% (47733) 0% (557) 6% (29818) 0% (2212) 0% (1502) 37% (177886) 100% (468726)
multiple dependencies subschema, wrong type both 9% (47265) 0% (548) 7% (36033) 0% (2121) 0% (1582) 41% (199479) 100% (479444)
simple enum validation, one of the enum is valid 11% (345372) 0% (910) 8% (279212) 0% (10399) 3% (114741) 20% (630337) 100% (3133877)
simple enum validation, something else is invalid 10% (180927) 0% (768) 12% (213708) 0% (8413) 0% (1471) 0% (-1) 100% (1707217)
heterogeneous enum validation, one of the enum is valid 22% (282810) 0% (770) 24% (299975) 0% (9163) 8% (104900) 52% (652456) 100% (1242459)
heterogeneous enum validation, something else is invalid 26% (169931) 0% (856) 17% (110805) 1% (8169) 0% (-1) 0% (-1) 100% (647336)
heterogeneous enum validation, objects are deep compared 24% (77491) 0% (819) 30% (96666) 2% (7365) 0% (1546) 0% (-1) 100% (315764)
enums in properties, both properties are valid 13% (95305) 0% (568) 3% (23982) 0% (2868) 5% (42214) 29% (205901) 100% (708838)
enums in properties, missing optional property is valid 11% (116615) 0% (657) 4% (45649) 0% (3019) 4% (43760) 26% (259714) 100% (995428)
enums in properties, missing required property is invalid 17% (95978) 0% (768) 7% (40264) 0% (2985) 0% (1465) 47% (266029) 100% (562368)
enums in properties, missing all properties is invalid 16% (129920) 0% (694) 27% (219750) 0% (3229) 0% (1485) 58% (473046) 100% (807431)
a schema given for items, valid items 9% (119948) 0% (735) 2% (30460) 0% (2343) 4% (60083) 16% (213815) 100% (1292571)
a schema given for items, wrong type of items 9% (104413) 0% (717) 4% (46367) 0% (2690) 0% (1410) 23% (251431) 100% (1086609)
a schema given for items, ignores non-arrays 7% (220182) 0% (974) 11% (346611) 0% (10528) 2% (80651) 22% (679291) 100% (3000336)
an array of schemas for items, correct types 26% (132065) 0% (728) 6% (33021) 0% (3346) 11% (56445) 63% (323662) 100% (506668)
an array of schemas for items, wrong types 18% (72258) 0% (692) 17% (65984) 0% (2828) 0% (1791) 76% (292008) 100% (382593)
maxItems validation, shorter is valid 12% (376723) 0% (890) 13% (389844) 0% (11807) 3% (98441) 21% (634242) 100% (2960395)
maxItems validation, exact length is valid 14% (408473) 0% (843) 14% (398393) 0% (12387) 3% (100633) 22% (633719) 100% (2803179)
maxItems validation, too long is invalid 8% (155255) 0% (781) 17% (335269) 0% (11388) 0% (1600) 31% (597052) 100% (1894676)
maxItems validation, ignores non-arrays 13% (411792) 0% (905) 3% (101459) 0% (11690) 3% (107844) 20% (617313) 100% (3076975)
maxLength validation, shorter is valid 29% (361733) 0% (837) 11% (134811) 1% (13788) 8% (106581) 35% (429363) 100% (1205876)
maxLength validation, exact length is valid 28% (365928) 0% (806) 10% (132263) 0% (11131) 8% (104762) 35% (461584) 100% (1295290)
maxLength validation, too long is invalid 14% (154722) 0% (791) 11% (119062) 1% (11705) 0% (1772) 39% (415957) 100% (1061801)
maxLength validation, ignores non-strings 13% (361911) 0% (972) 8% (227638) 0% (15551) 4% (122660) 23% (617491) 100% (2677957)
maxLength validation, two supplementary Unicode code points is long enough 0% (-1) 0% (-1) 0% (-1) 0% (-1) 0% (-1) 39% (328317) 100% (833918)
maxProperties validation, shorter is valid 11% (175570) 0% (866) 19% (292369) 0% (10545) 4% (69599) 23% (343602) 100% (1487987)
maxProperties validation, exact length is valid 10% (142529) 0% (881) 18% (254400) 0% (12027) 4% (67758) 24% (342855) 100% (1394719)
maxProperties validation, too long is invalid 7% (82774) 0% (731) 19% (204601) 1% (11290) 0% (1518) 31% (324335) 100% (1037690)
maxProperties validation, ignores non-objects 20% (353491) 0% (1056) 5% (95467) 0% (11296) 6% (104692) 32% (557427) 100% (1714181)
maximum validation, below the maximum is valid 13% (324307) 0% (861) 9% (238977) 0% (11142) 4% (100251) 24% (593483) 100% (2463095)
maximum validation, above the maximum is invalid 6% (109929) 0% (854) 14% (249993) 0% (11027) 0% (1496) 32% (561050) 100% (1736579)
maximum validation, ignores non-numbers 12% (419319) 0% (965) 3% (129180) 0% (12774) 2% (100935) 18% (628206) 100% (3458445)
exclusiveMaximum validation, below the maximum is still valid 13% (349106) 0% (822) 7% (203021) 0% (10499) 3% (92271) 24% (626905) 100% (2582535)
exclusiveMaximum validation, boundary point is invalid 7% (140981) 0% (732) 10% (201922) 0% (11032) 0% (1628) 30% (557384) 100% (1856369)
minItems validation, longer is valid 13% (353116) 0% (1118) 14% (401593) 0% (11361) 3% (100182) 25% (680016) 100% (2698491)
minItems validation, exact length is valid 13% (359883) 0% (818) 13% (378483) 0% (11505) 4% (131865) 22% (616414) 100% (2766207)
minItems validation, too short is invalid 7% (145919) 0% (802) 17% (334579) 0% (10731) 0% (1508) 29% (553648) 100% (1877440)
minItems validation, ignores non-arrays 14% (427879) 0% (907) 5% (172714) 0% (12505) 3% (105539) 21% (628618) 100% (2878744)
minLength validation, longer is valid 30% (368330) 0% (939) 10% (125765) 0% (12021) 8% (102567) 37% (450235) 100% (1203706)
minLength validation, exact length is valid 30% (429075) 0% (846) 8% (122022) 0% (11961) 7% (105607) 28% (396461) 100% (1384657)
minLength validation, too short is invalid 14% (146118) 0% (854) 13% (132219) 1% (11058) 0% (1521) 33% (342711) 100% (1015072)
minLength validation, ignores non-strings 16% (408343) 0% (872) 7% (183408) 0% (11447) 4% (104900) 23% (573160) 100% (2440535)
minLength validation, one supplementary Unicode code point is not long enough 0% (-1) 0% (-1) 0% (-1) 0% (-1) 0% (-1) 36% (283039) 100% (765362)
minProperties validation, longer is valid 9% (151158) 0% (816) 16% (263866) 0% (10507) 4% (65533) 21% (343009) 100% (1560037)
minProperties validation, exact length is valid 9% (173156) 0% (896) 15% (283078) 0% (10576) 4% (72088) 20% (362182) 100% (1801589)
minProperties validation, too short is invalid 10% (121923) 0% (804) 24% (285487) 0% (10475) 0% (1677) 29% (338886) 100% (1148405)
minProperties validation, ignores non-objects 21% (382988) 0% (975) 11% (203089) 0% (10922) 5% (96149) 31% (565486) 100% (1790402)
minimum validation, above the minimum is valid 13% (357054) 0% (1130) 8% (243038) 0% (11474) 3% (100626) 24% (663951) 100% (2717149)
minimum validation, below the minimum is invalid 6% (115019) 0% (872) 11% (219487) 0% (10637) 0% (1509) 26% (508112) 100% (1893430)
minimum validation, ignores non-numbers 12% (408956) 0% (906) 3% (126388) 0% (11741) 4% (132766) 17% (567681) 100% (3225031)
exclusiveMinimum validation, above the minimum is still valid 13% (348459) 0% (784) 7% (212316) 0% (11784) 3% (100026) 23% (618467) 100% (2663518)
exclusiveMinimum validation, boundary point is invalid 9% (168526) 0% (740) 13% (227154) 0% (11540) 0% (1470) 33% (561519) 100% (1690596)
by int, int by int 19% (380193) 0% (831) 10% (215902) 0% (12760) 6% (137276) 32% (640925) 100% (1971113)
by int, int by int fail 10% (147450) 0% (802) 14% (214101) 0% (11784) 0% (1527) 43% (623284) 100% (1446207)
by int, ignores non-numbers 12% (395009) 0% (940) 3% (103083) 0% (10900) 3% (100609) 17% (545982) 100% (3155572)
by number, zero is multiple of anything 18% (343787) 0% (828) 11% (214901) 0% (10905) 5% (95028) 30% (552690) 100% (1811737)
by number, 4.5 is multiple of 1.5 21% (380967) 0% (1091) 12% (230880) 0% (11233) 5% (101340) 30% (545284) 100% (1787146)
by number, 35 is not multiple of 1.5 8% (122781) 0% (781) 13% (196110) 0% (12602) 0% (1564) 35% (512148) 100% (1433016)
by small number, 0.0075 is multiple of 0.0001 23% (405632) 0% (863) 12% (215604) 0% (13065) 0% (-1) 31% (547725) 100% (1712388)
by small number, 0.00751 is not multiple of 0.0001 9% (148828) 0% (891) 13% (212794) 0% (12104) 0% (1449) 28% (465389) 100% (1608367)
not, allowed 6% (136644) 0% (773) 3% (65108) 0% (7394) 0% (1500) 27% (574884) 100% (2053474)
not, disallowed 12% (186911) 0% (866) 5% (83881) 0% (7665) 0% (1500) 0% (-1) 100% (1445233)
not multiple types, valid 4% (89718) 0% (763) 3% (64584) 0% (7734) 0% (1718) 38% (686336) 100% (1799463)
not multiple types, mismatch 15% (199368) 0% (739) 6% (87357) 0% (8012) 0% (1547) 0% (-1) 100% (1273316)
not multiple types, other mismatch 11% (185083) 0% (711) 4% (80383) 0% (7196) 0% (1533) 0% (-1) 100% (1618438)
not more complex schema, match 12% (113314) 0% (777) 9% (92114) 0% (7672) 0% (1633) 61% (570496) 100% (927937)
not more complex schema, other match 8% (58867) 0% (597) 6% (48224) 0% (3870) 0% (1498) 79% (578835) 100% (726657)
not more complex schema, mismatch 9% (80681) 0% (586) 4% (35277) 0% (3814) 0% (1462) 0% (-1) 100% (835568)
forbidden property, property present 13% (97034) 0% (633) 6% (50826) 0% (5301) 0% (1730) 0% (-1) 100% (737691)
forbidden property, property absent 6% (129331) 0% (822) 15% (304586) 0% (5466) 2% (56346) 25% (506612) 100% (2021883)
oneOf, first oneOf valid 7% (71597) 0% (643) 4% (47784) 0% (7832) 0% (1886) 11% (107632) 100% (967708)
oneOf, second oneOf valid 8% (79002) 0% (621) 5% (55483) 0% (7163) 0% (1667) 11% (106662) 100% (947919)
oneOf, both oneOf valid 7% (95175) 0% (615) 3% (48879) 0% (6481) 0% (1448) 7% (93708) 100% (1247463)
oneOf, neither oneOf valid 7% (52906) 0% (572) 8% (58836) 0% (6360) 0% (519) 20% (137315) 100% (670201)
oneOf with base schema, mismatch base schema 20% (213080) 0% (799) 57% (603831) 0% (5921) 0% (1639) 9% (95250) 100% (1056274)
oneOf with base schema, one oneOf valid 13% (74295) 0% (602) 4% (26055) 1% (7110) 0% (1487) 15% (87304) 100% (560811)
oneOf with base schema, both oneOf valid 13% (108858) 0% (601) 3% (29522) 0% (7390) 0% (1522) 9% (77124) 100% (782602)
integer, a bignum is an integer 15% (280009) 0% (905) 12% (219250) 0% (8901) 4% (86069) 28% (520195) 100% (1806517)
number, a bignum is a number 14% (271106) 0% (854) 12% (223716) 0% (8784) 5% (93631) 29% (536522) 100% (1841897)
integer, a negative bignum is an integer 15% (306167) 0% (917) 10% (204805) 0% (9436) 4% (96262) 29% (575161) 100% (1967488)
number, a negative bignum is a number 15% (305617) 0% (906) 11% (225350) 0% (9414) 4% (94378) 31% (606381) 100% (1924360)
string, a bignum is not a string 15% (214677) 0% (849) 43% (602370) 0% (7943) 0% (1504) 37% (514747) 100% (1382144)
integer comparison, comparison works for high numbers 12% (273150) 0% (839) 11% (254549) 0% (11557) 4% (98325) 26% (577685) 100% (2163016)
float comparison with high precision, comparison works for high numbers 9% (132171) 0% (756) 12% (176744) 0% (11672) 0% (2267) 35% (513986) 100% (1441839)
integer comparison, comparison works for very negative numbers 13% (279495) 0% (844) 10% (212771) 0% (10912) 4% (92062) 29% (589540) 100% (2016903)
float comparison with high precision on negative numbers, comparison works for very negative numbers 8% (122662) 0% (721) 13% (190989) 0% (10386) 0% (1652) 37% (545623) 100% (1464149)
validation of date-time strings, a valid date-time string 17% (108077) 0% (824) 6% (38065) 0% (-1) 14% (88146) 100% (603441) 59% (359516)
validation of date-time strings, an invalid date-time string 20% (83952) 0% (881) 9% (39758) 2% (10450) 0% (-1) 0% (-1) 100% (400465)
validation of date-time strings, only RFC3339 not all of ISO 8601 are valid 20% (83594) 0% (762) 14% (58531) 2% (10689) 0% (-1) 0% (-1) 100% (404965)
validation of URIs, a valid URI 22% (135678) 0% (858) 8% (49724) 1% (10487) 16% (100271) 100% (597899) 16% (96909)
validation of URIs, an invalid URI 0% (-1) 0% (839) 43% (49510) 9% (10660) 0% (-1) 0% (-1) 100% (114873)
validation of URIs, an invalid URI though valid URI reference 0% (-1) 0% (-1) 100% (96940) 10% (10428) 0% (-1) 0% (-1) 98% (95556)
validation of e-mail addresses, a valid e-mail address 13% (192363) 0% (792) 3% (48499) 0% (11278) 7% (105506) 40% (585123) 100% (1447566)
validation of e-mail addresses, an invalid e-mail address 11% (110399) 0% (796) 9% (94125) 1% (10976) 0% (-1) 0% (-1) 100% (977406)
validation of IP addresses, a valid IP address 16% (176272) 0% (1065) 4% (43209) 1% (10787) 9% (94098) 69% (725244) 100% (1043822)
validation of IP addresses, an IP address with too many components 10% (94751) 0% (888) 7% (62138) 1% (11652) 0% (-1) 0% (-1) 100% (879353)
validation of IP addresses, an IP address with out-of-range values 11% (101071) 0% (846) 4% (40913) 1% (11362) 0% (-1) 0% (-1) 100% (843898)
validation of IP addresses, an IP address without 4 components 11% (103611) 0% (793) 9% (79621) 1% (13096) 0% (-1) 0% (-1) 100% (864235)
validation of IP addresses, an IP address as an integer 12% (134119) 0% (1260) 6% (65183) 1% (10821) 0% (-1) 0% (-1) 100% (1067395)
validation of IPv6 addresses, a valid IPv6 address 19% (113072) 0% (893) 16% (91380) 2% (12722) 21% (123802) 100% (567035) 86% (490840)
validation of IPv6 addresses, an IPv6 address with out-of-range values 14% (72457) 0% (787) 12% (63731) 2% (10457) 0% (-1) 0% (-1) 100% (514755)
validation of IPv6 addresses, an IPv6 address with too many components 22% (69109) 0% (807) 11% (34327) 3% (9587) 0% (-1) 0% (-1) 100% (307548)
validation of IPv6 addresses, an IPv6 address containing illegal characters 12% (76412) 0% (776) 13% (81596) 1% (12196) 0% (-1) 0% (-1) 100% (614979)
validation of host names, a valid host name 22% (131685) 0% (898) 10% (59097) 0% (-1) 16% (97947) 100% (585521) 73% (431127)
validation of host names, a host name starting with an illegal character 8% (109231) 0% (884) 3% (39157) 0% (10734) 0% (-1) 0% (-1) 100% (1217512)
validation of host names, a host name containing illegal characters 11% (104446) 0% (762) 5% (47265) 1% (10519) 0% (-1) 0% (-1) 100% (923688)
validation of host names, a host name with a component too long 14% (96961) 0% (820) 2% (18131) 2% (13373) 0% (-1) 0% (-1) 100% (654880)
some languages do not distinguish between different types of numeric value, a float is not an integer even without fractional part 0% (-1) 0% (-1) 0% (-1) 0% (-1) 0% (-1) 0% (-1) 0% (-1)
pattern validation, a matching pattern is valid 8% (207635) 0% (933) 4% (98624) 0% (11234) 3% (91523) 24% (574741) 100% (2364570)
pattern validation, a non-matching pattern is invalid 6% (104029) 0% (797) 6% (103225) 0% (11965) 0% (1596) 28% (431154) 100% (1515983)
pattern validation, ignores non-strings 17% (476695) 0% (898) 9% (263544) 0% (12899) 3% (104721) 20% (534425) 100% (2662106)
patternProperties validates properties matching a regex, a single valid match is valid 9% (86432) 0% (689) 4% (43442) 0% (4463) 3% (35540) 17% (162513) 100% (954070)
patternProperties validates properties matching a regex, multiple valid matches is valid 19% (68239) 0% (1099) 6% (23996) 0% (2910) 6% (22895) 27% (94567) 100% (344992)
patternProperties validates properties matching a regex, a single invalid match is invalid 16% (55276) 0% (749) 8% (26575) 0% (2825) 0% (1504) 29% (97919) 100% (329093)
patternProperties validates properties matching a regex, multiple invalid matches is invalid 14% (44844) 0% (629) 8% (26009) 0% (2678) 0% (1601) 27% (88085) 100% (318683)
patternProperties validates properties matching a regex, ignores non-objects 19% (298361) 0% (894) 18% (287484) 0% (11995) 3% (57213) 36% (553973) 100% (1534984)
multiple simultaneous patternProperties are validated, a single valid match is valid 13% (94408) 0% (714) 6% (41969) 0% (4326) 4% (29591) 24% (170977) 100% (686194)
multiple simultaneous patternProperties are validated, a simultaneous match is valid 10% (83767) 0% (649) 3% (29379) 0% (3557) 3% (29361) 15% (118698) 100% (766139)
multiple simultaneous patternProperties are validated, multiple matches is valid 20% (63185) 0% (658) 6% (19453) 0% (2246) 7% (24219) 27% (85456) 100% (308397)
multiple simultaneous patternProperties are validated, an invalid due to one is invalid 11% (65521) 0% (693) 8% (49048) 0% (4028) 0% (1447) 22% (129881) 100% (568680)
multiple simultaneous patternProperties are validated, an invalid due to the other is invalid 11% (54556) 0% (608) 5% (26401) 0% (3099) 0% (1678) 23% (115372) 100% (486050)
multiple simultaneous patternProperties are validated, an invalid due to both is invalid 17% (34419) 0% (524) 6% (13306) 0% (1796) 0% (1658) 28% (58631) 100% (202277)
regexes are not anchored by default and are case sensitive, non recognized members are ignored 29% (86040) 0% (706) 35% (102917) 1% (5216) 10% (30774) 68% (197349) 100% (288047)
regexes are not anchored by default and are case sensitive, recognized members are accounted for 7% (63958) 0% (704) 5% (45907) 0% (4141) 0% (1595) 14% (127034) 100% (858492)
regexes are not anchored by default and are case sensitive, regexes are case sensitive 8% (93458) 0% (736) 12% (131542) 0% (5260) 3% (39896) 24% (262214) 100% (1075811)
regexes are not anchored by default and are case sensitive, regexes are case sensitive, 2 11% (57243) 0% (668) 9% (45830) 0% (4173) 0% (1451) 24% (121787) 100% (504784)
object properties validation, both properties present and valid is valid 9% (91180) 0% (735) 3% (28172) 0% (3205) 4% (43290) 25% (237646) 100% (936616)
object properties validation, one property invalid is invalid 9% (61871) 0% (638) 5% (38393) 0% (2809) 0% (1533) 32% (221374) 100% (679962)
object properties validation, both properties invalid is invalid 11% (64950) 0% (642) 8% (46671) 0% (3148) 0% (1569) 41% (243459) 100% (582697)
object properties validation, doesn't invalidate other properties 11% (156851) 0% (772) 26% (368162) 0% (3540) 3% (55067) 30% (433332) 100% (1401518)
object properties validation, ignores non-objects 20% (347374) 0% (868) 28% (496027) 0% (3710) 4% (84675) 32% (563785) 100% (1724808)
properties, patternProperties, additionalProperties interaction, property validates property 7% (62108) 0% (565) 3% (31250) 0% (2304) 3% (29116) 14% (118164) 100% (788683)
properties, patternProperties, additionalProperties interaction, property invalidates property 7% (48106) 0% (541) 4% (31471) 0% (2327) 0% (1472) 15% (105234) 100% (659263)
properties, patternProperties, additionalProperties interaction, patternProperty invalidates property 9% (51565) 0% (545) 6% (36360) 0% (2371) 0% (1483) 20% (111667) 100% (538289)
properties, patternProperties, additionalProperties interaction, patternProperty validates nonproperty 9% (76280) 0% (617) 6% (48514) 0% (2492) 3% (28076) 17% (130390) 100% (764747)
properties, patternProperties, additionalProperties interaction, patternProperty invalidates nonproperty 8% (55986) 0% (580) 6% (45119) 0% (2437) 0% (1552) 19% (132174) 100% (676929)
properties, patternProperties, additionalProperties interaction, additionalProperty ignores property 5% (71709) 0% (594) 3% (45591) 0% (4057) 2% (30974) 17% (217503) 100% (1225748)
properties, patternProperties, additionalProperties interaction, additionalProperty validates others 12% (73072) 0% (588) 6% (42429) 0% (2333) 4% (27609) 20% (122090) 100% (606783)
properties, patternProperties, additionalProperties interaction, additionalProperty invalidates others 11% (60709) 0% (604) 10% (52151) 0% (2191) 0% (1629) 22% (112371) 100% (506281)
root pointer ref, match 9% (76495) 0% (433) 7% (58310) 0% (3082) 2% (16619) 24% (198138) 100% (820323)
root pointer ref, recursive match 10% (56783) 0% (300) 7% (40208) 0% (1857) 2% (14138) 27% (148107) 100% (541310)
root pointer ref, mismatch 10% (65112) 0% (674) 49% (309789) 0% (3029) 0% (1429) 40% (253010) 100% (628153)
root pointer ref, recursive mismatch 10% (40854) 0% (363) 21% (81399) 0% (2102) 0% (1349) 37% (144038) 100% (381943)
relative pointer ref to object, match 9% (100355) 0% (380) 3% (40849) 0% (1985) 1% (12640) 27% (296183) 100% (1092560)
relative pointer ref to object, mismatch 9% (69480) 0% (401) 7% (51901) 0% (2451) 0% (1715) 43% (317475) 100% (721677)
relative pointer ref to array, match array 26% (124763) 0% (398) 6% (31902) 0% (1998) 2% (13245) 61% (294966) 100% (479557)
relative pointer ref to array, mismatch array 11% (70056) 0% (483) 5% (33320) 0% (1963) 0% (1320) 48% (286970) 100% (594476)
escaped pointer ref, slash 15% (48917) 0% (380) 19% (64488) 0% (1048) 0% (1286) 100% (325009) 35% (116140)
escaped pointer ref, tilda 24% (60381) 0% (382) 24% (62711) 0% (1078) 0% (1326) 100% (251418) 42% (106457)
escaped pointer ref, percent 17% (51448) 0% (459) 21% (62365) 0% (1103) 0% (1337) 100% (292985) 36% (106535)
nested refs, nested ref valid 8% (153025) 0% (255) 3% (63325) 0% (1852) 0% (8884) 27% (523091) 100% (1907767)
nested refs, nested ref invalid 7% (124084) 0% (223) 4% (81230) 0% (1464) 0% (1328) 26% (458338) 100% (1737233)
required validation, present required property is valid 13% (119958) 0% (746) 7% (63392) 0% (3758) 5% (47627) 28% (249003) 100% (884859)
required validation, non-present required property is invalid 16% (77256) 0% (700) 12% (59487) 0% (3924) 0% (1454) 49% (237290) 100% (479336)
required default validation, not required by default 11% (206207) 0% (865) 22% (409976) 0% (5405) 3% (68127) 32% (575736) 100% (1795940)
integer type matches integers, an integer is an integer 8% (282646) 0% (908) 6% (212744) 0% (8802) 2% (87870) 17% (580858) 100% (3288154)
integer type matches integers, a float is not an integer 23% (312297) 0% (871) 43% (574661) 0% (7705) 0% (1629) 32% (432175) 100% (1313206)
integer type matches integers, a string is not an integer 9% (208403) 0% (896) 32% (693148) 0% (8035) 0% (1749) 24% (527749) 100% (2116026)
integer type matches integers, an object is not an integer 10% (214771) 0% (857) 31% (667857) 0% (7931) 0% (1464) 23% (513111) 100% (2140278)
integer type matches integers, an array is not an integer 11% (210259) 0% (878) 33% (622341) 0% (8628) 0% (1569) 28% (522065) 100% (1852405)
integer type matches integers, a boolean is not an integer 10% (201070) 0% (842) 30% (583492) 0% (7912) 0% (1499) 27% (524342) 100% (1923631)
integer type matches integers, null is not an integer 9% (194023) 0% (1031) 29% (588679) 0% (7970) 0% (1550) 25% (518661) 100% (2021406)
number type matches numbers, an integer is a number 10% (277751) 0% (958) 9% (249112) 0% (9201) 3% (93128) 18% (491453) 100% (2619968)
number type matches numbers, a float is a number 9% (276859) 0% (911) 8% (252529) 0% (10494) 3% (100813) 19% (545276) 100% (2833632)
number type matches numbers, a string is not a number 9% (214288) 0% (811) 33% (743695) 0% (8173) 0% (1816) 28% (643979) 100% (2224205)
number type matches numbers, an object is not a number 14% (209605) 0% (888) 47% (670021) 0% (7926) 0% (1544) 29% (420311) 100% (1424005)
number type matches numbers, an array is not a number 11% (199207) 0% (878) 32% (592703) 0% (8605) 0% (1552) 30% (550795) 100% (1802583)
number type matches numbers, a boolean is not a number 10% (194587) 0% (873) 36% (656529) 0% (8497) 0% (1525) 24% (448650) 100% (1817940)
number type matches numbers, null is not a number 11% (209799) 0% (861) 35% (625353) 0% (8751) 0% (1542) 30% (544755) 100% (1786449)
string type matches strings, 1 is not a string 10% (202515) 0% (989) 38% (730296) 0% (8868) 0% (1803) 28% (543608) 100% (1915298)
string type matches strings, a float is not a string 14% (251077) 0% (858) 38% (656706) 0% (8603) 0% (1459) 28% (474704) 100% (1687348)
string type matches strings, a string is a string 9% (286485) 0% (933) 4% (119188) 0% (9975) 3% (95100) 16% (489178) 100% (2904276)
string type matches strings, an object is not a string 18% (343811) 0% (977) 41% (756684) 0% (8720) 0% (1638) 28% (513091) 100% (1818052)
string type matches strings, an array is not a string 11% (222938) 0% (833) 35% (677967) 0% (8988) 0% (1566) 25% (495247) 100% (1931731)
string type matches strings, a boolean is not a string 10% (184805) 0% (882) 37% (665371) 0% (7611) 0% (1505) 26% (472849) 100% (1782266)
string type matches strings, null is not a string 12% (224183) 0% (866) 36% (658243) 0% (8111) 0% (1577) 26% (479211) 100% (1789068)
object type matches objects, an integer is not an object 11% (198956) 0% (851) 38% (656786) 0% (7998) 0% (1817) 26% (457346) 100% (1701404)
object type matches objects, a float is not an object 15% (222710) 0% (939) 44% (636328) 0% (7740) 0% (1506) 30% (431094) 100% (1430774)
object type matches objects, a string is not an object 10% (200945) 0% (826) 34% (673291) 0% (8681) 0% (1622) 23% (472198) 100% (1970005)
object type matches objects, an object is an object 6% (232860) 0% (1005) 9% (326642) 0% (8760) 2% (77641) 18% (623479) 100% (3374885)
object type matches objects, an array is not an object 8% (209854) 0% (835) 25% (604866) 0% (8067) 0% (1554) 19% (456909) 100% (2392510)
object type matches objects, a boolean is not an object 11% (218578) 0% (858) 35% (662246) 0% (7974) 0% (1763) 25% (468927) 100% (1850664)
object type matches objects, null is not an object 12% (215410) 0% (794) 33% (587739) 0% (7743) 0% (1573) 25% (445303) 100% (1737874)
array type matches arrays, an integer is not an array 12% (194861) 0% (929) 38% (618596) 0% (7496) 0% (1606) 31% (496179) 100% (1599970)
array type matches arrays, a float is not an array 16% (226506) 0% (902) 37% (536166) 0% (7858) 0% (1476) 38% (550314) 100% (1414587)
array type matches arrays, a string is not an array 11% (207818) 0% (893) 32% (599599) 0% (7986) 0% (1491) 23% (435229) 100% (1834687)
array type matches arrays, an object is not an array 11% (215081) 0% (840) 33% (609123) 0% (7431) 0% (1453) 26% (484290) 100% (1808036)
array type matches arrays, an array is not an array 12% (311634) 0% (902) 17% (443576) 0% (9644) 3% (86806) 20% (525450) 100% (2537633)
array type matches arrays, a boolean is not an array 9% (207616) 0% (855) 34% (717608) 0% (7934) 0% (1571) 20% (439095) 100% (2091268)
array type matches arrays, null is not an array 12% (210530) 0% (893) 39% (685601) 0% (8074) 0% (1510) 25% (437280) 100% (1714177)
boolean type matches booleans, an integer is not a boolean 13% (211291) 0% (946) 42% (687454) 0% (8545) 0% (1531) 28% (458131) 100% (1618606)
boolean type matches booleans, a float is not a boolean 11% (210238) 0% (863) 39% (717336) 0% (8089) 0% (1500) 26% (479672) 100% (1795675)
boolean type matches booleans, a string is not a boolean 10% (220854) 0% (851) 29% (622776) 0% (7850) 0% (1644) 22% (466184) 100% (2107096)
boolean type matches booleans, an object is not a boolean 9% (197905) 0% (777) 29% (603854) 0% (7451) 0% (1426) 23% (478750) 100% (2018535)
boolean type matches booleans, an array is not a boolean 8% (189408) 0% (826) 28% (605475) 0% (7879) 0% (1520) 21% (464551) 100% (2149533)
boolean type matches booleans, a boolean is not a boolean 10% (333112) 0% (910) 7% (245698) 0% (9668) 2% (98052) 15% (519143) 100% (3289167)
boolean type matches booleans, null is not a boolean 13% (260074) 0% (884) 33% (647964) 0% (8958) 0% (1507) 22% (439467) 100% (1934006)
null type matches only the null object, an integer is not null 11% (204188) 0% (919) 40% (717250) 0% (8073) 0% (1568) 23% (423508) 100% (1790807)
null type matches only the null object, a float is not null 10% (193545) 0% (842) 35% (624950) 0% (7487) 0% (1412) 25% (450214) 100% (1780440)
null type matches only the null object, a string is not null 11% (209277) 0% (860) 37% (718153) 0% (7895) 0% (1375) 20% (395595) 100% (1899212)
null type matches only the null object, an object is not null 9% (185218) 0% (801) 33% (658460) 0% (7887) 0% (1502) 25% (506329) 100% (1955406)
null type matches only the null object, an array is not null 10% (217827) 0% (984) 30% (626220) 0% (7715) 0% (1573) 20% (433047) 100% (2074846)
null type matches only the null object, a boolean is not null 10% (191313) 0% (823) 34% (607650) 0% (8798) 0% (1388) 22% (396822) 100% (1752188)
null type matches only the null object, null is null 12% (330044) 0% (872) 12% (317363) 0% (9171) 3% (91288) 19% (504306) 100% (2591348)
multiple types can be specified in an array, an integer is valid 11% (267562) 0% (946) 11% (272883) 0% (9713) 2% (69992) 24% (578891) 100% (2411440)
multiple types can be specified in an array, a string is valid 10% (364314) 0% (1263) 3% (136190) 0% (10820) 2% (72924) 18% (667576) 100% (3527510)
multiple types can be specified in an array, a float is invalid 6% (143163) 0% (1023) 23% (501248) 0% (11472) 0% (1875) 25% (531438) 100% (2108721)
multiple types can be specified in an array, an object is invalid 7% (149780) 0% (863) 27% (515469) 0% (9498) 0% (1656) 30% (588523) 100% (1902102)
multiple types can be specified in an array, an array is invalid 5% (118571) 0% (1182) 23% (496573) 0% (7662) 0% (1536) 22% (466025) 100% (2086906)
multiple types can be specified in an array, a boolean is invalid 7% (130565) 0% (876) 25% (479019) 0% (7663) 0% (1597) 29% (540340) 100% (1855143)
multiple types can be specified in an array, null is invalid 6% (111782) 0% (788) 25% (453164) 0% (8054) 0% (1831) 26% (477328) 100% (1783153)
uniqueItems validation, unique array of integers is valid 17% (293513) 0% (874) 11% (193240) 0% (11967) 5% (101521) 33% (568775) 100% (1723041)
uniqueItems validation, non-unique array of integers is invalid 8% (124868) 0% (840) 13% (196318) 0% (10793) 0% (1462) 0% (-1) 100% (1402964)
uniqueItems validation, numbers are unique if mathematically unequal 9% (132642) 0% (820) 16% (215139) 0% (11266) 0% (1521) 0% (-1) 100% (1327833)
uniqueItems validation, unique array of objects is valid 38% (237065) 0% (906) 12% (78875) 1% (10375) 15% (96236) 100% (610762) 71% (434054)
uniqueItems validation, non-unique array of objects is invalid 25% (101720) 0% (869) 18% (73996) 2% (10301) 0% (1493) 0% (-1) 100% (404307)
uniqueItems validation, unique array of nested objects is valid 19% (117945) 0% (817) 9% (60525) 1% (11313) 13% (78825) 100% (606076) 28% (173220)
uniqueItems validation, non-unique array of nested objects is invalid 48% (75370) 0% (918) 33% (52576) 7% (10932) 1% (1649) 0% (-1) 100% (155474)
uniqueItems validation, unique array of arrays is valid 16% (282642) 0% (871) 6% (106911) 0% (10967) 6% (118006) 36% (624881) 100% (1711181)
uniqueItems validation, non-unique array of arrays is invalid 11% (123933) 0% (829) 5% (61288) 1% (12664) 0% (1562) 0% (-1) 100% (1120419)
uniqueItems validation, 1 and true are unique 25% (426151) 0% (1082) 15% (249753) 0% (12003) 6% (105098) 42% (694096) 100% (1647983)
uniqueItems validation, 0 and false are unique 18% (275600) 0% (837) 14% (207426) 0% (14137) 8% (125551) 41% (603413) 100% (1450560)
uniqueItems validation, unique heterogeneous types are valid 27% (200282) 0% (883) 10% (77387) 1% (10751) 0% (-1) 100% (727874) 56% (414434)
uniqueItems validation, non-unique heterogeneous types are invalid 26% (101098) 0% (941) 18% (70072) 2% (11028) 0% (1426) 0% (-1) 100% (379846)