Creating a schema. This is usually a one time cost.
schemas.tsCopy to clipboardimport * as v from "valibot"; export const personSchema = v.object({ name: v.string(), age: v.number(), });
Optimizations
| Library | Version | Downloads (/wk) | Optimizations | Mean | Compare | ||||
|---|---|---|---|---|---|---|---|---|---|
sury | Code snippet | 11.0.0-alpha.4 | 146.04K | JIT | 8 μs | ||||
typebox | Code snippet | 1.1.23 | 277.92K | JIT | 10 μs | 1.16x | |||
ata-validator | Code snippet | 0.8.0 | 728 | JIT | 27 μs | 3.27x | |||
sury (compile) | Code snippet | 11.0.0-alpha.4 | 146.04K | JIT | 85 μs | 10.12x | |||
zod/mini | Code snippet | 4.3.6 | 151.14M | JIT | 202 μs | 24.09x | |||
arktype | Code snippet | 2.2.0 | 885.45K | JIT | 525 μs | 62.64x | |||
zod | Code snippet | 4.3.6 | 151.14M | JIT | 690 μs | 82.4x | |||
typebox (compile) | Code snippet | 1.1.23 | 277.92K | JIT | 696 μs | 83.13x | |||
typebox (schema compile) | Code snippet | 1.1.23 | 277.92K | JIT | 722 μs | 86.24x | |||
ajv | Code snippet | 8.18.0 | 259.98M | JIT | 4 ms | 469.42x | |||