{"id":15585443,"url":"https://github.com/icebob/validator-benchmark","last_synced_at":"2025-10-06T09:38:35.338Z","repository":{"id":142600622,"uuid":"78017180","full_name":"icebob/validator-benchmark","owner":"icebob","description":"JS validators benchmark","archived":false,"fork":false,"pushed_at":"2024-04-22T16:46:23.000Z","size":100,"stargazers_count":39,"open_issues_count":1,"forks_count":19,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-30T06:51:10.669Z","etag":null,"topics":["benchmark","javascript","validation","validator"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/icebob.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-01-04T13:18:44.000Z","updated_at":"2025-02-12T12:42:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"adb011ff-9011-4467-a0fd-d30efc2a67d3","html_url":"https://github.com/icebob/validator-benchmark","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icebob%2Fvalidator-benchmark","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icebob%2Fvalidator-benchmark/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icebob%2Fvalidator-benchmark/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icebob%2Fvalidator-benchmark/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/icebob","download_url":"https://codeload.github.com/icebob/validator-benchmark/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250560168,"owners_count":21450186,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["benchmark","javascript","validation","validator"],"created_at":"2024-10-02T21:01:11.107Z","updated_at":"2025-10-06T09:38:30.282Z","avatar_url":"https://github.com/icebob.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# validator benchmark\r\n\r\n## Packages in benchmark\r\n\r\n| Package |\r\n| ------- |\r\n| [ajv](https://github.com/epoberezkin/ajv) |\r\n| [fastest-validator](https://github.com/icebob/fastest-validator) |\r\n| [joi](https://github.com/hapijs/joi) |\r\n| [mschema](https://github.com/mschema/mschema) (*) |\r\n| [parambulator](https://github.com/rjrodger/parambulator) (*) |\r\n| [validate.js](https://github.com/ansman/validate.js) |\r\n| [validatorjs](https://github.com/skaterdav85/validatorjs) |\r\n| [validator.js](https://github.com/guillaumepotier/validator.js) |\r\n| [Valibot](https://github.com/fabian-hiller/valibot) |\r\n| [yup](https://github.com/jquense/yup) |\r\n| [Zod](https://github.com/colinhacks/zod) |\r\n| [Typia](https://github.com/samchon/typia) |\r\n| [TypeBox](https://github.com/sinclairzx81/typebox) |\r\n\r\n (*) not supported advanced types (email, url, ...etc)\r\n\r\n## Benchmark #1 (simple object)\r\n\r\n### Test object\r\n```js\r\nlet object = {\r\n    name: \"john doe\",\r\n    email: \"john.doe@company.space\",\r\n    firstName: \"John\",\r\n    phone: \"123-4567\",\r\n    age: 33\r\n}\r\n```\r\n\r\n### Code\r\n[/suites/simple.js](https://github.com/icebob/validator-benchmark/blob/master/suites/simple.js)\r\n\r\n### Result\r\n\r\n```\r\n========================\r\n  Validators benchmark\r\n========================\r\n\r\nPlatform info:\r\n==============\r\n   Windows_NT 10.0.19045 x64\r\n   Node.JS: 18.16.0\r\n   V8: 10.2.154.26-node.26\r\n   CPU: 13th Gen Intel(R) Core(TM) i5-13500 × 20\r\n   Memory: 32 GB\r\n\r\nSuite: Simple object\r\n====================\r\n\r\n√ validator.js          1 042 449 ops/sec\r\n√ validate.js             530 266 ops/sec\r\n√ validatorjs             373 417 ops/sec\r\n√ joi                     322 830 ops/sec\r\n√ ajv                  14 032 040 ops/sec\r\n√ mschema               1 323 370 ops/sec\r\n√ parambulator             49 942 ops/sec\r\n√ fastest-validator    15 083 985 ops/sec\r\n√ yup                     197 715 ops/sec\r\n√ nope                  3 506 647 ops/sec\r\n√ jsvalidator           1 755 752 ops/sec\r\n√ Valibot               4 164 354 ops/sec\r\n√ Zod                   1 985 027 ops/sec\r\n√ Typia                 9 654 026 ops/sec\r\n√ TypeBox              16 583 409 ops/sec\r\n\r\n   validator.js            -93,71%   (1 042 449 ops/sec)   (avg: 959ns)\r\n   validate.js              -96,8%    (530 266 ops/sec)   (avg: 1μs)\r\n   validatorjs             -97,75%    (373 417 ops/sec)   (avg: 2μs)\r\n   joi                     -98,05%    (322 830 ops/sec)   (avg: 3μs)\r\n   ajv                     -15,39%   (14 032 040 ops/sec)   (avg: 71ns)\r\n   mschema                 -92,02%   (1 323 370 ops/sec)   (avg: 755ns)\r\n   parambulator             -99,7%     (49 942 ops/sec)   (avg: 20μs)\r\n   fastest-validator        -9,04%   (15 083 985 ops/sec)   (avg: 66ns)\r\n   yup                     -98,81%    (197 715 ops/sec)   (avg: 5μs)\r\n   nope                    -78,85%   (3 506 647 ops/sec)   (avg: 285ns)\r\n   jsvalidator             -89,41%   (1 755 752 ops/sec)   (avg: 569ns)\r\n   Valibot                 -74,89%   (4 164 354 ops/sec)   (avg: 240ns)\r\n   Zod                     -88,03%   (1 985 027 ops/sec)   (avg: 503ns)\r\n   Typia                   -41,79%   (9 654 026 ops/sec)   (avg: 103ns)\r\n   TypeBox                      0%   (16 583 409 ops/sec)   (avg: 60ns)\r\n                                                                               \r\n┌───────────────────┬────────────────────────────────────────────────────┐\r\n│ validator.js      │ ███                                                │\r\n├───────────────────┼────────────────────────────────────────────────────┤\r\n│ validate.js       │ ██                                                 │\r\n├───────────────────┼────────────────────────────────────────────────────┤\r\n│ validatorjs       │ █                                                  │\r\n├───────────────────┼────────────────────────────────────────────────────┤\r\n│ joi               │ █                                                  │\r\n├───────────────────┼────────────────────────────────────────────────────┤\r\n│ ajv               │ ██████████████████████████████████████████         │\r\n├───────────────────┼────────────────────────────────────────────────────┤\r\n│ mschema           │ ████                                               │\r\n├───────────────────┼────────────────────────────────────────────────────┤\r\n│ parambulator      │                                                    │\r\n├───────────────────┼────────────────────────────────────────────────────┤\r\n│ fastest-validator │ █████████████████████████████████████████████      │\r\n├───────────────────┼────────────────────────────────────────────────────┤\r\n│ yup               │ █                                                  │\r\n├───────────────────┼────────────────────────────────────────────────────┤\r\n│ nope              │ ███████████                                        │\r\n├───────────────────┼────────────────────────────────────────────────────┤\r\n│ jsvalidator       │ █████                                              │\r\n├───────────────────┼────────────────────────────────────────────────────┤\r\n│ Valibot           │ █████████████                                      │\r\n├───────────────────┼────────────────────────────────────────────────────┤\r\n│ Zod               │ ██████                                             │\r\n├───────────────────┼────────────────────────────────────────────────────┤\r\n│ Typia             │ █████████████████████████████                      │\r\n├───────────────────┼────────────────────────────────────────────────────┤\r\n│ TypeBox           │ ██████████████████████████████████████████████████ │\r\n└───────────────────┴────────────────────────────────────────────────────┘\r\n-----------------------------------------------------------------------\r\n\r\n```\r\n\r\n![Chart](https://image-charts.com/chart.js/2.8.0?bkg=white\u0026c=%7B%22type%22%3A%22bar%22%2C%22data%22%3A%7B%22labels%22%3A%5B%22validator.js%22%2C%22validate.js%22%2C%22validatorjs%22%2C%22joi%22%2C%22ajv%22%2C%22mschema%22%2C%22parambulator%22%2C%22fastest-validator%22%2C%22yup%22%2C%22nope%22%2C%22jsvalidator%22%2C%22Valibot%22%2C%22Zod%22%2C%22Typia%22%2C%22TypeBox%22%5D%2C%22datasets%22%3A%5B%7B%22label%22%3A%22Dataset%201%22%2C%22backgroundColor%22%3A%22rgba%2854%2C%20162%2C%20235%2C%200.5%29%22%2C%22borderColor%22%3A%22rgb%2854%2C%20162%2C%20235%29%22%2C%22borderWidth%22%3A1%2C%22data%22%3A%5B1042449.1410525093%2C530266.1290130694%2C373417.0331221108%2C322829.57181244873%2C14032040.248611119%2C1323370.144769534%2C49941.663143282334%2C15083984.64160836%2C197714.89164774131%2C3506647.1994713047%2C1755752.4191094423%2C4164353.9145206804%2C1985026.9850479832%2C9654025.576236466%2C16583408.893709676%5D%7D%5D%7D%2C%22options%22%3A%7B%22responsive%22%3Afalse%2C%22legend%22%3A%7B%22display%22%3Afalse%2C%22position%22%3A%22top%22%7D%2C%22title%22%3A%7B%22display%22%3Atrue%2C%22text%22%3A%22Simple%20object%7C%28ops%2Fsec%29%22%7D%2C%22layout%22%3A%7B%22padding%22%3A20%7D%7D%7D)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ficebob%2Fvalidator-benchmark","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ficebob%2Fvalidator-benchmark","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ficebob%2Fvalidator-benchmark/lists"}