[ ] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality like performance)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] ⚠️ Breaking change (fix or feature that would cause existing functionality to change)
📚 Description
Since lolo32 has banned other people from adding commits to his PR (#8 ), I created a separate PR with his changes (add ajv and joi). You can also close it with a PR.
===============================
Benchmarking with flat object
===============================
Vine x 7,957,294 ops/sec ±4.77% (80 runs sampled)
Zod x 674,883 ops/sec ±4.91% (82 runs sampled)
Yup x 234,100 ops/sec ±4.56% (76 runs sampled)
Valibot x 2,754,473 ops/sec ±5.66% (76 runs sampled)
Joi x 763,442 ops/sec ±6.65% (80 runs sampled)
Ajv x 6,672,781 ops/sec ±3.74% (80 runs sampled)
Fastest is Vine
=================================
Benchmarking with nested object
=================================
Vine x 7,127,512 ops/sec ±5.06% (78 runs sampled)
Zod x 327,393 ops/sec ±6.05% (80 runs sampled)
Yup x 103,111 ops/sec ±14.25% (78 runs sampled)
Valibot x 1,798,652 ops/sec ±4.21% (78 runs sampled)
Joi x 409,752 ops/sec ±5.97% (81 runs sampled)
Ajv x 5,952,980 ops/sec ±4.55% (79 runs sampled)
Fastest is Vine
======================
Benchmarking arrays
======================
Vine x 5,494,876 ops/sec ±3.95% (80 runs sampled)
Zod x 219,401 ops/sec ±5.41% (79 runs sampled)
Yup x 56,243 ops/sec ±12.57% (78 runs sampled)
Valibot x 1,591,240 ops/sec ±4.77% (79 runs sampled)
Joi x 264,840 ops/sec ±6.70% (79 runs sampled)
Ajv x 5,437,982 ops/sec ±3.64% (77 runs sampled)
Fastest is Vine,Ajv
=======================
Benchmarking unions
=======================
Vine x 6,317,813 ops/sec ±5.07% (79 runs sampled)
Zod x 75,929 ops/sec ±6.48% (72 runs sampled)
Valibot x 1,187,806 ops/sec ±4.46% (79 runs sampled)
Joi x 339,873 ops/sec ±4.98% (82 runs sampled)
Ajv x 6,321,074 ops/sec ±3.95% (78 runs sampled)
Fastest is Ajv
🔗 Linked issue
❓ Type of change
📚 Description
Since lolo32 has banned other people from adding commits to his PR (#8 ), I created a separate PR with his changes (add ajv and joi). You can also close it with a PR.
📝 Checklist