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/wksortOptimizationsMeanarrow_upwardCompare
@sapphire/shapeshift
Code snippetCode snippet
schema.is(data)
5.0.0n/aNone307 μs
runtypes
Code snippetCode snippet
schema.guard(data)
7.0.5n/aNone173 μs
1.78x
stat_1
yup
Code snippetCode snippet
schema.isValidSync(data)
1.7.1n/aNone82 μs
3.74x
stat_1
zod-compiler
Code snippetCode snippet
schema.is(data)
2.0.4n/aPrecompiled16 μs
19.14x
stat_1
zod-compiler (bag)
Code snippetCode snippet
bagSchema.is(data)
2.0.4n/aPrecompiled16 μs
19.19x
stat_1
zod-compiler (compact)
Code snippetCode snippet
compactSchema.is(data)
2.0.4n/aPrecompiled12 μs
24.98x
stat_1
superstruct (schema.is)
Code snippetCode snippet
schema.is(data)
2.0.2n/aNone11 μs
27.22x
stat_1
sury
Code snippetCode snippet
S.isInput(S.schema(value), data)
11.0.0n/aJIT11 μs
28.8x
stat_1
superstruct
Code snippetCode snippet
is(data, schema)
2.0.2n/aNone10 μs
29.26x
stat_1
sury (compiled)
Code snippetCode snippet
const isValid = S.isInput(S.schema(value));
isValid(data);

(Setup code is not benchmarked)

11.0.0n/aJIT9 μs
35.97x
stat_1
typebox (schema)
Code snippetCode snippet
Schema.Check(schema, data)
1.3.309.44MJIT4 μs
74.57x
stat_1
typebox
Code snippetCode snippet
Value.Check(schema, data)
1.3.309.44MJIT4 μs
80.13x
stat_1
zod/mini
Code snippetCode snippet
z.validate(schema, data)
4.6.5209.22MJIT3 μs
100.74x
stat_1
zod
Code snippetCode snippet
schema.validate(data)
4.6.5209.22MJIT2 μs
199.93x
stat_1
arktype
Code snippetCode snippet
schema.allows(data)
2.2.3n/aJIT852 ns
359.94x
stat_1
effect@rc
Code snippetCode snippet
const is = Schema.is(schema);
is(data);

(Setup code is not benchmarked)

4.0.0-rc.112n/aNone701 ns
437.65x
stat_1
effect
Code snippetCode snippet
const is = Schema.is(schema);
is(data);

(Setup code is not benchmarked)

3.22.2n/aNone658 ns
465.74x
stat_1
@railway-ts/pipelines
Code snippetCode snippet
is(data, schema)
0.1.29n/aNone636 ns
481.91x
stat_1
valibot
Code snippetCode snippet
v.is(schema, data)
1.5.0n/aNone505 ns
607.34x
stat_1
io-ts
Code snippetCode snippet
schema.is(data)
2.2.22n/aNone128 ns
2_389.09x
stat_2
ajv (validate)
Code snippetCode snippet
ajv.validate(schema, data)
8.20.0n/aJIT88 ns
3_465.91x
stat_2
typia (is)
Code snippetCode snippet
typia.is<TypiaSchema>(data)
14.0.6242.17KPrecompiled87 ns
3_514.58x
stat_2
ajv (compile)
Code snippetCode snippet
const validate = ajv.compile(schema);
validate(data);

(Setup code is not benchmarked)

8.20.0n/aJIT78 ns
3_942x
stat_3
typebox (script compile)
Code snippetCode snippet
const compiledScriptSchema = Schema.Compile(scriptSchema);
compiledScriptSchema.Check(data);

(Setup code is not benchmarked)

1.3.309.44MJIT63 ns
4_905.6x
stat_3
typebox (schema compile)
Code snippetCode snippet
const compiledSchema = Schema.Compile(schema);
compiledSchema.Check(data);

(Setup code is not benchmarked)

1.3.309.44MJIT61 ns
4_990.22x
stat_3
ata-validator
Code snippetCode snippet
schema.isValidObject(data)
1.21.0n/aJIT61 ns
5_016.87x
stat_3
typebox (compile)
Code snippetCode snippet
const compiled = Compile(schema);
compiled.Check(data);

(Setup code is not benchmarked)

1.3.309.44MJIT60 ns
5_077.82x
stat_3
zod/mini (compile)
Code snippetCode snippet
z.validate(compiledSchema, data)
4.6.5209.22MJIT57 ns
5_419.63x
stat_3
zod (compile)
Code snippetCode snippet
compiledSchema.validate(data)
4.6.5209.22MJIT57 ns
5_422.09x
stat_3
typia (createIs)
Code snippetCode snippet
const is = typia.createIs<TypiaSchema>();
is(data);

(Setup code is not benchmarked)

14.0.6242.17KPrecompiled56 ns
5_495.29x
stat_3
Created by eskimojo for Open Circle

Preferences

Style
Theme
NPM browser
Code ligatures