Logo

Schema Benchmarks

Collapse
    • homeHome

    • timerInitialization
    • check_circleValidation
    • output_circleParsing

    • download_2Download
Expand sidebar
Benchmarkschevron_rightInitialization

Creating a schema. This is usually a one time cost.

schemas.ts
import * as v from "valibot"; export const personSchema = v.object({ name: v.string(), age: v.number(), });
Optimizations
flash_offNonecodeJITbuildPrecompiled
LibraryVersionOptimizationsMeanCompare
typia (createIs)
Code snippet
typia.createIs<TypiaSchema>()
10.0.2Precompiled45 ns
typia (createValidate)
Code snippet
typia.createValidate<TypiaSchema>()
10.0.2Precompiled112 ns
2.48x
stat_minus_1
typebox
Code snippet
Type.Object(...)
1.0.51None26 μs
567.29x
stat_minus_1
valibot
Code snippet
v.object(...)
1.1.0None53 μs
1,179.27x
stat_minus_1
yup
Code snippet
object(...)
1.7.1None107 μs
2,371.93x
stat_minus_1
joi
Code snippet
object(...)
18.0.1None208 μs
4,609.94x
stat_minus_1
zod (mini)
Code snippet
z.object(...)
4.1.12JIT257 μs
5,683.57x
stat_minus_1
effect
Code snippet
Schema.struct(...)
3.19.3None539 μs
11,918.44x
stat_minus_1
arktype
Code snippet
type(...)
2.1.25None574 μs
12,685.55x
stat_minus_1
effect (decodeUnknownEither)
Code snippet
Schema.decodeUnknownEither(
  Schema.struct(...)
)
3.19.3None713 μs
15,779.25x
stat_minus_1
typebox (compile)
Code snippet
Compile(Type.Object(...))
1.0.51JIT880 μs
19,472.32x
stat_minus_1
zod
Code snippet
z.object(...)
4.1.12JIT1 ms
22,353.28x
stat_minus_1
ajv
Code snippet
ajv.compile({...})
8.17.1JIT4 ms
98,372.59x
stat_minus_3
Created by eskimojo for Open Circle