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

  • JSON Schema

    • data_object
      Schema to JSON
    • code
      JSON to Schema
    • verified
      Compliance

    • deployed_code
      Libraries

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

Checking if a given value matches the schema. This is different to parsing because it doesn't return a new value.

Copy to clipboardCopy to clipboard
import * as v from "valibot"; import { personSchema } from "./schemas"; if (v.is(personSchema, data)) { // data is narrowed to Person }
Data
  • errorInvalid
  • check_circleValid
Optimizations
  • flash_offNone
  • codeJIT
  • buildPrecompiled
LibrarysortVersiondownload/wkarrow_upwardOptimizationsMeansortCompare
ajv (compile)
Code snippetCode snippet
// const validate = ajv.compile(schema);
validate(data);

(Commented code is not benchmarked)

8.20.0375.22MJIT75 ns
ajv (validate)
Code snippetCode snippet
ajv.validate(schema, data)
8.20.0375.22MJIT121 ns
1.61x
stat_minus_1
effect
Code snippetCode snippet
// const is = Schema.is(schema);
is(data);

(Commented code is not benchmarked)

3.22.031.1MNone657 ns
8.73x
stat_minus_1
effect@beta
Code snippetCode snippet
// const is = Schema.is(schema);
is(data);

(Commented code is not benchmarked)

4.0.0-beta.10131.1MNone1 μs
15.92x
stat_minus_1
valibot
Code snippetCode snippet
v.is(schema, data)
1.4.217.99MNone684 ns
9.08x
stat_minus_1
yup
Code snippetCode snippet
schema.isValidSync(data)
1.7.112.82MNone102 μs
1_350.85x
stat_minus_1
typebox
Code snippetCode snippet
Value.Check(schema, data)
1.3.188.78MJIT4 μs
55.91x
stat_minus_1
typebox (compile)
Code snippetCode snippet
// const compiled = Compile(schema);
compiled.Check(data);

(Commented code is not benchmarked)

1.3.188.78MJIT66 ns
1.14x
stat_1
typebox (schema compile)
Code snippetCode snippet
// const compiledSchema = Schema.Compile(schema);
compiledSchema.Check(data);

(Commented code is not benchmarked)

1.3.188.78MJIT67 ns
1.13x
stat_1
typebox (schema)
Code snippetCode snippet
Schema.Check(schema, data)
1.3.188.78MJIT4 μs
58.24x
stat_minus_1
typebox (script compile)
Code snippetCode snippet
// const compiledScriptSchema = Schema.Compile(scriptSchema);
compiledScriptSchema.Check(data);

(Commented code is not benchmarked)

1.3.188.78MJIT68 ns
1.11x
stat_1
superstruct
Code snippetCode snippet
is(data, schema)
2.0.26.18MNone12 μs
159.6x
stat_minus_1
superstruct (schema.is)
Code snippetCode snippet
schema.is(data)
2.0.26.18MNone12 μs
163.25x
stat_minus_1
io-ts
Code snippetCode snippet
schema.is(data)
2.2.222.76MNone131 ns
1.74x
stat_minus_1
arktype
Code snippetCode snippet
schema.allows(data)
2.2.31.74MJIT993 ns
13.19x
stat_minus_1
@sapphire/shapeshift
Code snippetCode snippet
schema.is(data)
5.0.01.26MNone318 μs
4_219.38x
stat_minus_3
typia (createIs)
Code snippetCode snippet
// const is = typia.createIs<TypiaSchema>();
is(data);

(Commented code is not benchmarked)

14.0.2334.75KPrecompiled53 ns
1.42x
stat_1
typia (is)
Code snippetCode snippet
typia.is<TypiaSchema>(data)
14.0.2334.75KPrecompiled84 ns
1.12x
stat_minus_1
sury
Code snippetCode snippet
S.is(S.schema(...), data)
11.0.0-rc.2320.42KJIT9 μs
117.22x
stat_minus_1
runtypes
Code snippetCode snippet
schema.guard(data)
7.0.5230.26KNone178 μs
2_357.21x
stat_minus_2
zod-compiler
Code snippetCode snippet
schema.is(data)
1.28.076.26KPrecompiled16 μs
214.19x
stat_minus_1
zod-compiler (bag)
Code snippetCode snippet
bagSchema.is(data)
1.28.076.26KPrecompiled17 μs
219.53x
stat_minus_1
zod-compiler (compact)
Code snippetCode snippet
compactSchema.is(data)
1.28.076.26KPrecompiled12 μs
163.27x
stat_minus_1
ata-validator
Code snippetCode snippet
schema.isValidObject(data)
1.7.12.29KJIT644 ns
8.55x
stat_minus_1
@railway-ts/pipelines
Code snippetCode snippet
is(data, schema)
0.1.29303None645 ns
8.56x
stat_minus_1
Created by eskimojo for Open Circle

Preferences

Style
Theme
NPM browser
Code ligatures