LogoLogo

Schema Benchmarks

    • home
      Home

    • download_2
      Download

    • timer
      Initialization
    • check_circle
      Validation
    • output_circle
      Parsing
    • swap_horiz
      Codec
    • schema
      Standard Schema
    • format_quote
      String

    • error
      Stack

    • deployed_code
      Libraries

    • article
      Blog
Expand sidebarExpand sidebar
Benchmarks/InitializationInitialization
github
GitHubGitHub
DiscordDiscord
PreferencesPreferences

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

schemas.ts
Copy to clipboardCopy to clipboard
import * as v from "valibot"; export const personSchema = v.object({ name: v.string(), age: v.number(), });
Optimizations
flash_offNonecodeJITbuildPrecompiled
LibrarysortVersionDownloads (/wk)sortOptimizationsMeanarrow_upwardCompare
typia (createIs)
Code snippetCode snippet
typia.createIs<TypiaSchema>()
13.1.0322.35KPrecompiled66 ns
typia (createValidate)
Code snippetCode snippet
typia.createValidate<TypiaSchema>()
13.1.0322.35KPrecompiled144 ns
2.18x
stat_minus_1
@paseri/compiler
Code snippetCode snippet
// const source = toSource(schema.toIR(), { name: "Product" });
import { Product } from "./product.gen.ts";

(Commented code is not benchmarked)

0.7.5111Precompiled648 ns
9.82x
stat_minus_1
@railway-ts/pipelines
Code snippetCode snippet
object(...)
0.1.29238None1 μs
15.43x
stat_minus_1
io-ts
Code snippetCode snippet
t.type(...)
2.2.222.72MNone3 μs
45.97x
stat_minus_1
@paseri/paseri
Code snippetCode snippet
p.object(...)
1.9.5127None3 μs
46.02x
stat_minus_1
superstruct
Code snippetCode snippet
object(...)
2.0.25.52MNone3 μs
52.15x
stat_minus_1
sury
Code snippetCode snippet
S.schema(...)
11.0.0-alpha.10286.81KJIT6 μs
84.97x
stat_minus_1
decoders
Code snippetCode snippet
object(...)
2.9.350.45KNone6 μs
96.33x
stat_minus_1
typebox
Code snippetCode snippet
Type.Object(...)
1.3.66.09MJIT11 μs
171.56x
stat_minus_1
@sapphire/shapeshift
Code snippetCode snippet
s.object(...)
4.0.0957.19KNone38 μs
574.02x
stat_minus_1
ata-validator
Code snippetCode snippet
new Validator({...})
0.21.01.07KJIT39 μs
592.41x
stat_minus_1
zod/v3
Code snippetCode snippet
z.object(...)
4.4.3245.64MNone45 μs
680.69x
stat_minus_1
valibot
Code snippetCode snippet
v.object(...)
1.4.216.03MNone58 μs
885.06x
stat_minus_1
sury (parser)
Code snippetCode snippet
S.parser(S.schema(...))
11.0.0-alpha.10286.81KJIT100 μs
1_517.33x
stat_minus_1
yup
Code snippetCode snippet
object(...)
1.7.112.63MNone107 μs
1_615.91x
stat_minus_1
typebox (schema compile)
Code snippetCode snippet
Schema.Compile(Type.Object(...))
1.3.66.09MJIT170 μs
2_574.4x
stat_minus_1
effect@beta
Code snippetCode snippet
Schema.struct(...)
4.0.0-beta.9824.13MNone177 μs
2_682.15x
stat_minus_1
effect@beta (decodeUnknownOption)
Code snippetCode snippet
Schema.decodeUnknownOption(
  Schema.struct(...)
)
4.0.0-beta.9824.13MNone182 μs
2_760.26x
stat_minus_1
typebox (compile)
Code snippetCode snippet
Compile(Type.Object(...))
1.3.66.09MJIT184 μs
2_784.68x
stat_minus_1
zod/mini
Code snippetCode snippet
z.object(...)
4.4.3245.64MJIT205 μs
3_112.79x
stat_minus_1
joi
Code snippetCode snippet
object(...)
18.2.322.62MNone220 μs
3_335.49x
stat_minus_1
effect
Code snippetCode snippet
Schema.struct(...)
3.22.024.13MNone423 μs
6_415.16x
stat_minus_1
effect (decodeUnknownEither)
Code snippetCode snippet
Schema.decodeUnknownEither(
  Schema.struct(...)
)
3.22.024.13MNone501 μs
7_592.98x
stat_minus_1
arktype
Code snippetCode snippet
type(...)
2.2.31.41MJIT529 μs
8_017.21x
stat_minus_1
zod
Code snippetCode snippet
z.object(...)
4.4.3245.64MJIT556 μs
8_432.92x
stat_minus_1
runtypes
Code snippetCode snippet
Object({...})
7.0.4270.96KNone1 ms
16_297.7x
stat_minus_1
typebox (script compile)
Code snippetCode snippet
Schema.Compile(Type.Script(...))
1.3.66.09MJIT2 ms
29_671.53x
stat_minus_2
typebox (script)
Code snippetCode snippet
Type.Script(...)
1.3.66.09MJIT2 ms
31_936.74x
stat_minus_2
ajv
Code snippetCode snippet
ajv.compile({...})
8.20.0357.46MJIT4 ms
60_315.81x
stat_minus_3
Created by eskimojo for Open Circle

Preferences

Style
Theme
NPM browser
Code ligatures