From 32a5e2a4f682624908886521dc6f9539733c2379 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 25 Dec 2024 13:56:32 +0000 Subject: [PATCH] feat: 20.x adds auto-generated benchmarks and bar graph --- docs/results/node-20.json | 2 +- docs/results/preview.svg | 175 +++++++++++++++++++------------------- 2 files changed, 88 insertions(+), 89 deletions(-) diff --git a/docs/results/node-20.json b/docs/results/node-20.json index ae133dfcd..6383d53f0 100644 --- a/docs/results/node-20.json +++ b/docs/results/node-20.json @@ -1 +1 @@ -{"results":[{"benchmark":"parseSafe","name":"aeria","ops":267881,"margin":0.4,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"aeria","ops":273158,"margin":0.46,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"aeria","ops":266188,"margin":0.47,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"aeria","ops":273161,"margin":0.41,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"ajv","ops":43012754,"margin":0.6,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"ajv","ops":21402100,"margin":0.36,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"arktype","ops":115762211,"margin":0.61,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"banditypes","ops":2778890,"margin":0.89,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"banditypes","ops":2784068,"margin":0.74,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"bueno","ops":273130,"margin":0.32,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"bueno","ops":264119,"margin":0.35,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"bueno","ops":495052,"margin":0.93,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"bueno","ops":477419,"margin":0.89,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"caketype","ops":159882,"margin":0.36,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"caketype","ops":200534,"margin":0.43,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"caketype","ops":159822,"margin":0.54,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"class-transformer-validator-sync","ops":84510,"margin":13.13,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"computed-types","ops":1472144,"margin":0.45,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"computed-types","ops":1141397,"margin":0.5,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"computed-types","ops":1142356,"margin":0.61,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"decoders","ops":355801,"margin":0.38,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"decoders","ops":210003,"margin":0.38,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"decoders","ops":211813,"margin":0.43,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"io-ts","ops":2733177,"margin":0.25,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"jointz","ops":646622,"margin":0.74,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"jointz","ops":647124,"margin":0.84,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"jointz","ops":837630,"margin":0.52,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"json-decoder","ops":1544815,"margin":0.72,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"$mol_data","ops":3124210,"margin":0.55,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"$mol_data","ops":3135148,"margin":0.5,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"@mojotech/json-type-validation","ops":2482455,"margin":0.63,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"mondrian-framework","ops":557619,"margin":0.82,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"mondrian-framework","ops":492947,"margin":0.72,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"mondrian-framework","ops":560364,"margin":0.86,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"mondrian-framework","ops":496766,"margin":1.11,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"myzod","ops":2225872,"margin":0.28,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"myzod","ops":2675769,"margin":0.66,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"myzod","ops":2688248,"margin":0.59,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"ok-computer","ops":185880,"margin":0.37,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"ok-computer","ops":193068,"margin":0.46,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"parse-dont-validate (chained function)","ops":711825,"margin":0.87,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"parse-dont-validate (named parameters)","ops":2198020,"margin":0.45,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"pure-parse (JIT compiled)","ops":26660622,"margin":0.46,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"pure-parse","ops":2677910,"margin":0.8,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"pure-parse","ops":1960543,"margin":0.47,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"pure-parse (JIT compiled)","ops":7037765,"margin":0.45,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"pure-parse (JIT compiled)","ops":59233153,"margin":0.61,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"pure-parse","ops":4021993,"margin":0.6,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"purify-ts","ops":1796058,"margin":0.86,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"r-assign","ops":1855965,"margin":0.47,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"r-assign","ops":1509699,"margin":0.65,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"r-assign","ops":1873422,"margin":0.51,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"r-assign","ops":1506820,"margin":0.54,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"rescript-schema","ops":122520883,"margin":0.49,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"rescript-schema","ops":32984666,"margin":0.53,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"rescript-schema","ops":118975452,"margin":0.16,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"rescript-schema","ops":33472213,"margin":0.2,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"rulr","ops":1095981,"margin":0.63,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"runtypes","ops":172854,"margin":0.49,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"@sapphire/shapeshift","ops":276889,"margin":0.8,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"@sapphire/shapeshift","ops":266761,"margin":0.58,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"@sapphire/shapeshift","ops":236018,"margin":0.76,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"@sapphire/shapeshift","ops":267022,"margin":0.64,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"simple-runtypes","ops":2881493,"margin":0.47,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"simple-runtypes","ops":3655464,"margin":0.72,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"simple-runtypes","ops":3460980,"margin":0.28,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"@sinclair/typebox-(ahead-of-time)","ops":163025330,"margin":0.3,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"@sinclair/typebox-(ahead-of-time)","ops":40430214,"margin":0.38,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"@sinclair/typebox-(dynamic)","ops":853797,"margin":0.46,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"@sinclair/typebox-(dynamic)","ops":772507,"margin":0.51,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"@sinclair/typebox-(just-in-time)","ops":123108740,"margin":0.75,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"@sinclair/typebox-(just-in-time)","ops":36469507,"margin":0.5,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"spectypes","ops":39811758,"margin":0.49,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"spectypes","ops":29788137,"margin":0.35,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"spectypes","ops":139510425,"margin":0.29,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"spectypes","ops":27821508,"margin":0.51,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"succulent","ops":504430,"margin":0.34,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"succulent","ops":896102,"margin":0.54,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"succulent","ops":503750,"margin":0.45,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"superstruct","ops":170021,"margin":0.57,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"superstruct","ops":211730,"margin":0.25,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"superstruct","ops":169640,"margin":0.92,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"suretype","ops":57826438,"margin":0.4,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"tiny-schema-validator","ops":1882766,"margin":0.71,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"tiny-schema-validator","ops":1859348,"margin":0.66,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"to-typed","ops":4291561,"margin":0.76,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"to-typed","ops":3306506,"margin":0.55,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"to-typed","ops":112276,"margin":0.92,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"to-typed","ops":3003591,"margin":0.75,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"toi","ops":1086171,"margin":0.31,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"toi","ops":1088366,"margin":0.37,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"ts-interface-checker","ops":4106014,"margin":0.38,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"ts-json-validator","ops":57675681,"margin":0.58,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"ts-runtime-checks","ops":36127068,"margin":0.4,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"ts-runtime-checks","ops":36179562,"margin":0.36,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"ts-runtime-checks","ops":171422100,"margin":0.15,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"ts-utils","ops":308187,"margin":0.37,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"tson","ops":663219,"margin":0.37,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"tson","ops":732394,"margin":0.78,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"tson","ops":741215,"margin":0.25,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"tson","ops":748606,"margin":0.19,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"@typeofweb/schema","ops":1638717,"margin":0.64,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"@typeofweb/schema","ops":1663472,"margin":0.54,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"typia","ops":113895970,"margin":0.27,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"typia","ops":37414299,"margin":0.61,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"typia","ops":34990554,"margin":0.3,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"typia","ops":133570314,"margin":0.4,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"unknownutil","ops":3606515,"margin":0.68,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"unknownutil","ops":3566338,"margin":0.73,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"unknownutil","ops":5875882,"margin":0.6,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"valibot","ops":2252918,"margin":0.57,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"valibot","ops":1634376,"margin":0.42,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"valibot","ops":2220006,"margin":0.87,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"valibot","ops":1633537,"margin":0.34,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"valita","ops":6726236,"margin":0.41,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"valita","ops":6716085,"margin":0.41,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"valita","ops":6707145,"margin":0.58,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"valita","ops":6536392,"margin":0.25,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"vality","ops":213350,"margin":0.34,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"vality","ops":204486,"margin":0.31,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"vality","ops":210422,"margin":0.41,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"vality","ops":201988,"margin":0.46,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"yup","ops":72066,"margin":0.38,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"yup","ops":68341,"margin":0.2,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"zod","ops":780763,"margin":0.68,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"zod","ops":699205,"margin":0.53,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"zod","ops":681903,"margin":0.93,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"zod","ops":688490,"margin":0.45,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"deepkit","ops":2675599,"margin":0.58,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"deepkit","ops":25475029,"margin":0.56,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"effect-schema","ops":1552004,"margin":0.77,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"effect-schema","ops":315541,"margin":0.59,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"effect-schema","ops":1267321,"margin":0.63,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"effect-schema","ops":304756,"margin":0.55,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"ts-auto-guard","ops":162471801,"margin":0.52,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"jet-schema","ops":3837612,"margin":0.41,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"jet-schema","ops":3560837,"margin":0.64,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"jet-schema","ops":5916720,"margin":0.44,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"jet-schema","ops":3625987,"margin":0.47,"runtime":"node","runtimeVersion":"v20.18.1"}]} \ No newline at end of file +{"results":[{"benchmark":"parseSafe","name":"aeria","ops":272723,"margin":0.25,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"aeria","ops":282113,"margin":0.24,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"aeria","ops":271889,"margin":0.35,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"aeria","ops":282324,"margin":0.18,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"ajv","ops":43375315,"margin":0.39,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"ajv","ops":21574050,"margin":0.72,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"arktype","ops":116736024,"margin":0.27,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"banditypes","ops":2733169,"margin":1.01,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"banditypes","ops":2741395,"margin":0.82,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"bueno","ops":267055,"margin":0.2,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"bueno","ops":266687,"margin":0.25,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"bueno","ops":487991,"margin":0.94,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"bueno","ops":490501,"margin":0.8,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"caketype","ops":160653,"margin":0.27,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"caketype","ops":200984,"margin":0.15,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"caketype","ops":160444,"margin":0.22,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"class-transformer-validator-sync","ops":91311,"margin":0.78,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"computed-types","ops":1471924,"margin":0.25,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"computed-types","ops":1147088,"margin":0.3,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"computed-types","ops":1138685,"margin":0.32,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"decoders","ops":366049,"margin":0.15,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"decoders","ops":218699,"margin":0.3,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"decoders","ops":217295,"margin":0.33,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"io-ts","ops":2756000,"margin":0.23,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"jointz","ops":649451,"margin":0.26,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"jointz","ops":650614,"margin":0.32,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"jointz","ops":839475,"margin":0.64,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"json-decoder","ops":1521188,"margin":0.64,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"$mol_data","ops":3231024,"margin":0.42,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"$mol_data","ops":3225434,"margin":0.36,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"@mojotech/json-type-validation","ops":2635057,"margin":0.48,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"mondrian-framework","ops":573368,"margin":0.7,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"mondrian-framework","ops":522480,"margin":0.35,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"mondrian-framework","ops":576974,"margin":0.64,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"mondrian-framework","ops":506410,"margin":0.95,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"myzod","ops":2228730,"margin":0.56,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"myzod","ops":2720143,"margin":0.33,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"myzod","ops":2703501,"margin":0.43,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"ok-computer","ops":191895,"margin":0.48,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"ok-computer","ops":200291,"margin":0.39,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"parse-dont-validate (chained function)","ops":707495,"margin":0.57,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"parse-dont-validate (named parameters)","ops":2218933,"margin":0.35,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"pure-parse (JIT compiled)","ops":26840985,"margin":0.37,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"pure-parse","ops":2636325,"margin":0.65,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"pure-parse","ops":2115228,"margin":0.58,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"pure-parse (JIT compiled)","ops":7554036,"margin":0.35,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"pure-parse (JIT compiled)","ops":67927518,"margin":0.32,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"pure-parse","ops":4064185,"margin":0.51,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"purify-ts","ops":1813498,"margin":0.73,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"r-assign","ops":1701911,"margin":0.34,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"r-assign","ops":1514297,"margin":0.39,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"r-assign","ops":1856814,"margin":0.35,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"r-assign","ops":1520092,"margin":0.36,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"rescript-schema","ops":123391448,"margin":0.34,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"rescript-schema","ops":33175837,"margin":0.2,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"rescript-schema","ops":119404486,"margin":0.14,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"rescript-schema","ops":33428358,"margin":0.19,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"rulr","ops":1082525,"margin":0.61,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"runtypes","ops":175076,"margin":0.71,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"@sapphire/shapeshift","ops":276966,"margin":0.56,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"@sapphire/shapeshift","ops":267240,"margin":0.61,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"@sapphire/shapeshift","ops":227382,"margin":0.7,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"@sapphire/shapeshift","ops":269239,"margin":0.7,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"simple-runtypes","ops":2840904,"margin":0.77,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"simple-runtypes","ops":3670763,"margin":0.76,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"simple-runtypes","ops":3653153,"margin":0.2,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"@sinclair/typebox-(ahead-of-time)","ops":163419780,"margin":0.26,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"@sinclair/typebox-(ahead-of-time)","ops":39834002,"margin":0.55,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"@sinclair/typebox-(dynamic)","ops":846898,"margin":0.51,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"@sinclair/typebox-(dynamic)","ops":797777,"margin":0.29,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"@sinclair/typebox-(just-in-time)","ops":124346452,"margin":0.28,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"@sinclair/typebox-(just-in-time)","ops":36936058,"margin":0.28,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"spectypes","ops":40733195,"margin":0.52,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"spectypes","ops":30379648,"margin":0.34,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"spectypes","ops":140372905,"margin":0.21,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"spectypes","ops":28403003,"margin":0.42,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"succulent","ops":510298,"margin":0.32,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"succulent","ops":920473,"margin":0.2,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"succulent","ops":511510,"margin":0.44,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"superstruct","ops":168290,"margin":0.15,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"superstruct","ops":208371,"margin":0.3,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"superstruct","ops":167504,"margin":0.21,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"suretype","ops":58214133,"margin":0.2,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"tiny-schema-validator","ops":1938494,"margin":0.63,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"tiny-schema-validator","ops":1905691,"margin":0.54,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"to-typed","ops":4340884,"margin":0.75,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"to-typed","ops":3259421,"margin":0.27,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"to-typed","ops":116989,"margin":0.24,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"to-typed","ops":2742791,"margin":0.29,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"toi","ops":1127357,"margin":0.25,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"toi","ops":1124667,"margin":0.24,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"ts-interface-checker","ops":4123000,"margin":0.36,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"ts-json-validator","ops":58190757,"margin":0.28,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"ts-runtime-checks","ops":36324617,"margin":0.33,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"ts-runtime-checks","ops":36388350,"margin":0.28,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"ts-runtime-checks","ops":172918662,"margin":0.16,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"ts-utils","ops":318061,"margin":0.28,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"tson","ops":698404,"margin":0.21,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"tson","ops":742747,"margin":0.26,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"tson","ops":743839,"margin":0.3,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"tson","ops":737589,"margin":0.39,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"@typeofweb/schema","ops":1657265,"margin":0.74,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"@typeofweb/schema","ops":1665741,"margin":0.26,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"typia","ops":114325782,"margin":0.29,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"typia","ops":38217520,"margin":0.5,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"typia","ops":35661429,"margin":0.32,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"typia","ops":134278595,"margin":0.36,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"unknownutil","ops":3473416,"margin":0.62,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"unknownutil","ops":3489308,"margin":0.66,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"unknownutil","ops":5814086,"margin":1.2,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"valibot","ops":2242837,"margin":0.68,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"valibot","ops":1635906,"margin":0.4,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"valibot","ops":2239026,"margin":0.57,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"valibot","ops":1634208,"margin":0.31,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"valita","ops":6760898,"margin":0.28,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"valita","ops":6763209,"margin":0.24,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"valita","ops":6852036,"margin":0.31,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"valita","ops":6585972,"margin":0.26,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"vality","ops":212419,"margin":0.5,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"vality","ops":203479,"margin":0.47,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"vality","ops":210200,"margin":0.26,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"vality","ops":202927,"margin":0.36,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"yup","ops":73249,"margin":0.3,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"yup","ops":69843,"margin":0.24,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"zod","ops":777011,"margin":0.23,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"zod","ops":708474,"margin":0.27,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"zod","ops":687828,"margin":0.25,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"zod","ops":685393,"margin":0.25,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"deepkit","ops":2799310,"margin":0.55,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"deepkit","ops":25797410,"margin":0.25,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"effect-schema","ops":1574630,"margin":0.27,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"effect-schema","ops":325387,"margin":0.35,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"effect-schema","ops":1272784,"margin":0.37,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"effect-schema","ops":308163,"margin":0.31,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"ts-auto-guard","ops":163652887,"margin":0.32,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseSafe","name":"jet-schema","ops":3896275,"margin":0.52,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"parseStrict","name":"jet-schema","ops":3636558,"margin":0.36,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertLoose","name":"jet-schema","ops":6054597,"margin":0.43,"runtime":"node","runtimeVersion":"v20.18.1"},{"benchmark":"assertStrict","name":"jet-schema","ops":3637189,"margin":0.4,"runtime":"node","runtimeVersion":"v20.18.1"}]} \ No newline at end of file diff --git a/docs/results/preview.svg b/docs/results/preview.svg index fbe0e75ca..1708d04f5 100644 --- a/docs/results/preview.svg +++ b/docs/results/preview.svg @@ -1,171 +1,170 @@ - - + + - + - + - + - + - 0 - 120,000,000 + 0 + 120,000,000 - - Safe Parsing + + Safe Parsing - + - + - rescript-schema - typia - spectypes - (median) + rescript-schema + typia + spectypes + (median) - + - - - - + + + + - + - + - + - 0 - 40,000,000 + 0 + 40,000,000 - - Strict Parsing + + Strict Parsing - + - + - rescript-schema - typia - ts-runtime-checks - (median) + rescript-schema + typia + ts-runtime-checks + (median) - + - - - - + + + + - + - + - + - 0 - 150,000,000 + 0 + 150,000,000 - - Loose Assertion + + Loose Assertion - - + + - + - ts-runtime-checks - @sinclair/typebox-(ah… - ts-auto-guard - (median) + ts-runtime-checks + ts-auto-guard + @sinclair/typebox-(ah… + (median) - + - - - - + + + + - + - - + + - + - 0 - 20,000,000 - 40,000,000 + 0 + 40,000,000 - - Strict Assertion + + Strict Assertion - + - + - ts-runtime-checks - @sinclair/typebox-(ah… - @sinclair/typebox-(ju… - (median) + ts-runtime-checks + @sinclair/typebox-(ah… + @sinclair/typebox-(ju… + (median) - + - - - - + + + + - - Top 3 packages for each benchmark + median, (ops count, better ⯈) + + Top 3 packages for each benchmark + median, (ops count, better ⯈)