JSON Schema Benchmark

Validation performance of JSON Schema implementations over real-world schemas and instance sets. Pick the implementations to compare and the figure to compare them on; every view below follows.

Measure
Implementations

Overall

By schema

Cells

Schema

Scale

Head to head

vs

How to read this

Every figure is a total over all the instances of a schema. Cold is the first validation pass after the schema is compiled; it includes neither compilation nor process start-up. Warm is a later pass, at steady state. Parse is the time to parse every instance from memory, so it excludes file I/O. Compile is the time to prepare the schema.

Parse + warm is what a service that validates each request pays at steady state. Compile + parse + cold is the whole path from an uncompiled schema to every instance validated once. Peak memory is the container's maximum resident set size.

Each implementation runs each schema several times in a fresh container; the page shows the median run, with the lowest and highest as whiskers. If any run fails to validate an instance, the schema counts as failed for that implementation and is left out of its comparisons.

The overall figure is the geometric mean of the per-schema ratios over the schemas both sides complete, so one large schema cannot dominate it. An implementation that fails a schema is not penalised in the mean; check its coverage before reading its rank.