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/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
errorInvalidcheck_circleValid
Optimizations
flash_offNonecodeJITbuildPrecompiled
LibrarysortVersionDownloads (/wk)sortOptimizationsMeanarrow_upwardCompare
typia (createIs)
Code snippetCode snippet
// const is = typia.createIs<TypiaSchema>();
is(data);

(Commented code is not benchmarked)

12.1.1321.84KPrecompiled48 ns
ata-validator
Code snippetCode snippet
schema.isValidObject(data)
0.21.0499JIT49 ns
1.01x
stat_minus_1
typia (is)
Code snippetCode snippet
typia.is<TypiaSchema>(data)
12.1.1321.84KPrecompiled64 ns
1.33x
stat_minus_1
typebox (compile)
Code snippetCode snippet
// const compiled = Compile(schema);
compiled.Check(data);

(Commented code is not benchmarked)

1.2.14.68MJIT69 ns
1.43x
stat_minus_1
typebox (schema compile)
Code snippetCode snippet
// const compiledSchema = Schema.Compile(schema);
compiledSchema.Check(data);

(Commented code is not benchmarked)

1.2.14.68MJIT70 ns
1.46x
stat_minus_1
typebox (script compile)
Code snippetCode snippet
// const compiledScriptSchema = Schema.Compile(scriptSchema);
compiledScriptSchema.Check(data);

(Commented code is not benchmarked)

1.2.14.68MJIT77 ns
1.58x
stat_minus_1
ajv (compile)
Code snippetCode snippet
// const validate = ajv.compile(schema);
validate(data);

(Commented code is not benchmarked)

8.20.0320.43MJIT80 ns
1.66x
stat_minus_1
ajv (validate)
Code snippetCode snippet
ajv.validate(schema, data)
8.20.0320.43MJIT115 ns
2.38x
stat_minus_1
io-ts
Code snippetCode snippet
schema.is(data)
2.2.223.76MNone120 ns
2.48x
stat_minus_1
@railway-ts/pipelines
Code snippetCode snippet
is(data, schema)
0.1.29105None680 ns
14.06x
stat_minus_1
valibot
Code snippetCode snippet
v.is(schema, data)
1.4.112.21MNone743 ns
15.35x
stat_minus_1
effect
Code snippetCode snippet
// const is = Schema.is(schema);
is(data);

(Commented code is not benchmarked)

3.21.318.38MNone788 ns
16.28x
stat_minus_1
arktype
Code snippetCode snippet
schema.allows(data)
2.2.01.15MJIT792 ns
16.37x
stat_minus_1
effect@beta
Code snippetCode snippet
// const is = Schema.is(schema);
is(data);

(Commented code is not benchmarked)

4.0.0-beta.7818.38MNone1 μs
21.86x
stat_minus_1
typebox
Code snippetCode snippet
Value.Check(schema, data)
1.2.14.68MJIT4 μs
88.22x
stat_minus_1
typebox (schema)
Code snippetCode snippet
Schema.Check(schema, data)
1.2.14.68MJIT5 μs
97.61x
stat_minus_1
superstruct (schema.is)
Code snippetCode snippet
schema.is(data)
2.0.25.29MNone11 μs
232.5x
stat_minus_1
superstruct
Code snippetCode snippet
is(data, schema)
2.0.25.29MNone11 μs
236.57x
stat_minus_1
yup
Code snippetCode snippet
schema.isValidSync(data)
1.7.112.33MNone88 μs
1_818.31x
stat_minus_1
runtypes
Code snippetCode snippet
schema.guard(data)
7.0.4320.04KNone196 μs
4_043.74x
stat_minus_3
@sapphire/shapeshift
Code snippetCode snippet
schema.is(data)
4.0.0889.36KNone270 μs
5_571.84x
stat_minus_3
Created by eskimojo for Open Circle

Preferences

Style
Theme
NPM browser