[{"data":1,"prerenderedAt":1206},["ShallowReactive",2],{"navigation_docs":3,"-benchmarks-light-validation":195,"-benchmarks-light-validation-surround":1201},[4,27,61,75,100,126,147,177],{"title":5,"icon":6,"redirect":7,"path":8,"stem":9,"children":10,"page":26},"Introduction","icon-park-outline:home","\u002Fintroduction\u002Fabout-mion","\u002Fintroduction","1.introduction",[11,14,18,22],{"title":12,"path":7,"stem":13},"About mion","1.introduction\u002F1.about-mion",{"title":15,"path":16,"stem":17},"Quick Start","\u002Fintroduction\u002Fquick-start","1.introduction\u002F2.quick-start",{"title":19,"path":20,"stem":21},"Manual Install","\u002Fintroduction\u002Fmanual-install","1.introduction\u002F3.manual-install",{"title":23,"path":24,"stem":25},"What's Next","\u002Fintroduction\u002Fwhat-is-next","1.introduction\u002F4.what-is-next",false,{"title":28,"icon":29,"path":30,"stem":31,"children":32,"page":26},"Server","icon-park-outline:server","\u002Fserver","20.server",[33,37,41,45,49,53,57],{"title":34,"path":35,"stem":36},"Router Overview","\u002Fserver\u002Foverview","20.server\u002F0.overview",{"title":38,"path":39,"stem":40},"Routes","\u002Fserver\u002Froutes","20.server\u002F1.routes",{"title":42,"path":43,"stem":44},"Middleware","\u002Fserver\u002Fmiddle-fns","20.server\u002F2.middle-fns",{"title":46,"path":47,"stem":48},"Request & Response","\u002Fserver\u002Frequest-and-response","20.server\u002F5.request-and-response",{"title":50,"path":51,"stem":52},"Error Handling","\u002Fserver\u002Ferror-handling","20.server\u002F6.error-handling",{"title":54,"path":55,"stem":56},"Validation","\u002Fserver\u002Fvalidation","20.server\u002F7.validation",{"title":58,"path":59,"stem":60},"Serialization","\u002Fserver\u002Fserialization","20.server\u002F8.serialization",{"title":62,"icon":63,"path":64,"stem":65,"children":66,"page":26},"Drizzle ORM","i-lineicons-drizzle","\u002Fdrizzle-orm","21.drizzle-orm",[67,71],{"title":68,"path":69,"stem":70},"Drizzle Overview","\u002Fdrizzle-orm\u002Fdrizzle-overview","21.drizzle-orm\u002F0.drizzle-overview",{"title":72,"path":73,"stem":74},"Column Mapping","\u002Fdrizzle-orm\u002Fcolumn-mapping","21.drizzle-orm\u002F1.column-mapping",{"title":76,"icon":77,"path":78,"stem":79,"children":80,"page":26},"Client","icon-park-outline:computer","\u002Fclient","3.client",[81,85,88,92,96],{"title":82,"path":83,"stem":84},"Client Overview","\u002Fclient\u002Fclient-overview","3.client\u002F0.client-overview",{"title":50,"path":86,"stem":87},"\u002Fclient\u002Ferror-handling","3.client\u002F1.error-handling",{"title":89,"path":90,"stem":91},"Validation Errors","\u002Fclient\u002Fvalidation-errors","3.client\u002F2.validation-errors",{"title":93,"path":94,"stem":95},"Routes Flow","\u002Fclient\u002Fclient-flow","3.client\u002F3.client-flow",{"title":97,"path":98,"stem":99},"Cancellation & Timeouts","\u002Fclient\u002Fcancellation-timeouts","3.client\u002F4.cancellation-timeouts",{"title":101,"icon":102,"redirect":103,"path":104,"stem":105,"children":106,"page":26},"RunTypes","i-lucide-scan-text","\u002Frun-types\u002Foverview","\u002Frun-types","4.run-types",[107,110,114,118,122],{"title":108,"path":103,"stem":109},"RunTypes Overview","4.run-types\u002F0.overview",{"title":111,"path":112,"stem":113},"Supported Types","\u002Frun-types\u002Ffeatures","4.run-types\u002F1.features",{"title":115,"path":116,"stem":117},"Type Formats","\u002Frun-types\u002Ftype-formats","4.run-types\u002F2.type-formats",{"title":119,"path":120,"stem":121},"Built-in Formats","\u002Frun-types\u002Fbuilt-in-formats","4.run-types\u002F3.built-in-formats",{"title":123,"path":124,"stem":125},"Caveats","\u002Frun-types\u002Fcaveats","4.run-types\u002F4.caveats",{"title":127,"path":128,"stem":129,"children":130,"page":26},"Devtools","\u002Fdevtools","5.devtools",[131,135,139,143],{"title":132,"path":133,"stem":134},"AOT Compilation","\u002Fdevtools\u002Faot-compilation","5.devtools\u002F0.aot-compilation",{"title":136,"path":137,"stem":138},"Pure Functions","\u002Fdevtools\u002Fpure-functions","5.devtools\u002F1.pure-functions",{"title":140,"path":141,"stem":142},"ESLint Rules","\u002Fdevtools\u002Feslint-rules","5.devtools\u002F2.eslint-rules",{"title":144,"path":145,"stem":146},"Vite Configuration","\u002Fdevtools\u002Fvite-config","5.devtools\u002F3.vite-config",{"title":148,"redirect":149,"icon":150,"path":151,"stem":152,"children":153,"page":26},"Platforms","\u002Fplatforms\u002Fnode-js","icon-park-outline:play","\u002Fplatforms","6.platforms",[154,157,161,165,169,173],{"title":155,"path":149,"stem":156},"Node.js","6.platforms\u002F1.node-js",{"title":158,"path":159,"stem":160},"Bun","\u002Fplatforms\u002Fbun","6.platforms\u002F2.bun",{"title":162,"path":163,"stem":164},"AWS Lambda","\u002Fplatforms\u002Faws-lambda","6.platforms\u002F3.aws-lambda",{"title":166,"path":167,"stem":168},"Google Cloud Functions","\u002Fplatforms\u002Fgoogle-cloud-functions","6.platforms\u002F4.google-cloud-functions",{"title":170,"path":171,"stem":172},"Cloudflare Workers","\u002Fplatforms\u002Fcloudflare","6.platforms\u002F5.cloudflare",{"title":174,"path":175,"stem":176},"Vercel","\u002Fplatforms\u002Fvercel","6.platforms\u002F6.vercel",{"title":178,"icon":179,"redirect":180,"path":181,"stem":182,"children":183,"page":26},"Benchmarks","icon-park-outline:chart-line","\u002Fbenchmarks\u002Fhello-world","\u002Fbenchmarks","7.benchmarks",[184,187,191],{"title":185,"path":180,"stem":186},"Hello World","7.benchmarks\u002F1.hello-world",{"title":188,"path":189,"stem":190},"Light Validation","\u002Fbenchmarks\u002Flight-validation","7.benchmarks\u002F2.light-validation",{"title":192,"path":193,"stem":194},"Heavy Validation","\u002Fbenchmarks\u002Fheavy-validation","7.benchmarks\u002F3.heavy-validation",{"id":196,"title":188,"body":197,"description":1195,"extension":1196,"links":1197,"meta":1198,"navigation":329,"path":189,"seo":1199,"stem":190,"__hash__":1200},"docs\u002F7.benchmarks\u002F2.light-validation.md",{"type":198,"value":199},"minimark",[200,213,221,226,238,717,722,730,735,755,758,761,795,800,804,808,811,815,818,822,825,829,832,836,1185,1191],[201,202,203,204,212],"p",{},"These benchmarks are based on the ",[205,206,211],"a",{"href":207,"rel":208,"target":210},"https:\u002F\u002Fgithub.com\u002Ffastify\u002Fbenchmarks",[209],"nofollow","_blank","Fastify benchmarks"," repo. Our goal is to perform similarly to Fastify as we consider it the industry standard in terms of performance.",[214,215,216,220],"tip",{},[217,218,219],"strong",{},"Update Simple User"," benchmark involves light validation and serialization on top of routing and framework overhead.",[222,223,225],"h2",{"id":224},"what-is-tested","What is tested?",[201,227,228,229,233,234,237],{},"The test consists of an ",[230,231,232],"code",{},"updateSimpleUser"," request with a ",[217,235,236],{},"simple User model (~100 bytes payload)"," that includes:",[239,240,245],"pre",{"className":241,"code":242,"language":243,"meta":244,"style":244},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","interface SimpleUser {\n  id: number;\n  name: string;\n  surname: string;\n  lastUpdate: Date;\n}\n\n\u002F\u002F ### mion ###\n\u002F\u002F the received user by the route is already validated and deserialized\n\u002F\u002F all Date fields are already JS Date objects (not strings from JSON.parse)\nexport const routes: Routes = {\n  updateUser: (ctx, user: SimpleUser): SimpleUser => {\n    user.lastUpdate = new Date();\n    return user;\n  },\n};\n\n\u002F\u002F ### Other frameworks (Express, Fastify, Hono, etc.) ###\n\u002F\u002F Use Zod schemas for validation and date coercion\nconst UserSchema = z.object({\n  id: z.number(),\n  name: z.string(),\n  surname: z.string(),\n  lastUpdate: z.coerce.date(),\n});\n\napp.post(\"\u002FupdateUser\", function (req, res) {\n  const user = UserSchema.parse(req.body); \u002F\u002F Validates + deserializes dates\n  user.lastUpdate = new Date();\n  res.json(user);\n});\n","ts","",[230,246,247,264,280,293,305,318,324,331,338,344,350,374,410,434,444,450,456,461,467,473,499,518,536,553,576,587,592,633,668,688,708],{"__ignoreMap":244},[248,249,252,256,260],"span",{"class":250,"line":251},"line",1,[248,253,255],{"class":254},"spNyl","interface",[248,257,259],{"class":258},"sBMFI"," SimpleUser",[248,261,263],{"class":262},"sMK4o"," {\n",[248,265,267,271,274,277],{"class":250,"line":266},2,[248,268,270],{"class":269},"swJcz","  id",[248,272,273],{"class":262},":",[248,275,276],{"class":258}," number",[248,278,279],{"class":262},";\n",[248,281,283,286,288,291],{"class":250,"line":282},3,[248,284,285],{"class":269},"  name",[248,287,273],{"class":262},[248,289,290],{"class":258}," string",[248,292,279],{"class":262},[248,294,296,299,301,303],{"class":250,"line":295},4,[248,297,298],{"class":269},"  surname",[248,300,273],{"class":262},[248,302,290],{"class":258},[248,304,279],{"class":262},[248,306,308,311,313,316],{"class":250,"line":307},5,[248,309,310],{"class":269},"  lastUpdate",[248,312,273],{"class":262},[248,314,315],{"class":258}," Date",[248,317,279],{"class":262},[248,319,321],{"class":250,"line":320},6,[248,322,323],{"class":262},"}\n",[248,325,327],{"class":250,"line":326},7,[248,328,330],{"emptyLinePlaceholder":329},true,"\n",[248,332,334],{"class":250,"line":333},8,[248,335,337],{"class":336},"sHwdD","\u002F\u002F ### mion ###\n",[248,339,341],{"class":250,"line":340},9,[248,342,343],{"class":336},"\u002F\u002F the received user by the route is already validated and deserialized\n",[248,345,347],{"class":250,"line":346},10,[248,348,349],{"class":336},"\u002F\u002F all Date fields are already JS Date objects (not strings from JSON.parse)\n",[248,351,353,357,360,364,366,369,372],{"class":250,"line":352},11,[248,354,356],{"class":355},"s7zQu","export",[248,358,359],{"class":254}," const",[248,361,363],{"class":362},"sTEyZ"," routes",[248,365,273],{"class":262},[248,367,368],{"class":258}," Routes",[248,370,371],{"class":262}," =",[248,373,263],{"class":262},[248,375,377,381,383,386,390,393,396,398,400,403,405,408],{"class":250,"line":376},12,[248,378,380],{"class":379},"s2Zo4","  updateUser",[248,382,273],{"class":262},[248,384,385],{"class":262}," (",[248,387,389],{"class":388},"sHdIc","ctx",[248,391,392],{"class":262},",",[248,394,395],{"class":388}," user",[248,397,273],{"class":262},[248,399,259],{"class":258},[248,401,402],{"class":262},"):",[248,404,259],{"class":258},[248,406,407],{"class":254}," =>",[248,409,263],{"class":262},[248,411,413,416,419,422,424,427,429,432],{"class":250,"line":412},13,[248,414,415],{"class":362},"    user",[248,417,418],{"class":262},".",[248,420,421],{"class":362},"lastUpdate",[248,423,371],{"class":262},[248,425,426],{"class":262}," new",[248,428,315],{"class":379},[248,430,431],{"class":269},"()",[248,433,279],{"class":262},[248,435,437,440,442],{"class":250,"line":436},14,[248,438,439],{"class":355},"    return",[248,441,395],{"class":362},[248,443,279],{"class":262},[248,445,447],{"class":250,"line":446},15,[248,448,449],{"class":262},"  },\n",[248,451,453],{"class":250,"line":452},16,[248,454,455],{"class":262},"};\n",[248,457,459],{"class":250,"line":458},17,[248,460,330],{"emptyLinePlaceholder":329},[248,462,464],{"class":250,"line":463},18,[248,465,466],{"class":336},"\u002F\u002F ### Other frameworks (Express, Fastify, Hono, etc.) ###\n",[248,468,470],{"class":250,"line":469},19,[248,471,472],{"class":336},"\u002F\u002F Use Zod schemas for validation and date coercion\n",[248,474,476,479,482,485,488,490,493,496],{"class":250,"line":475},20,[248,477,478],{"class":254},"const",[248,480,481],{"class":362}," UserSchema ",[248,483,484],{"class":262},"=",[248,486,487],{"class":362}," z",[248,489,418],{"class":262},[248,491,492],{"class":379},"object",[248,494,495],{"class":362},"(",[248,497,498],{"class":262},"{\n",[248,500,502,504,506,508,510,513,515],{"class":250,"line":501},21,[248,503,270],{"class":269},[248,505,273],{"class":262},[248,507,487],{"class":362},[248,509,418],{"class":262},[248,511,512],{"class":379},"number",[248,514,431],{"class":362},[248,516,517],{"class":262},",\n",[248,519,521,523,525,527,529,532,534],{"class":250,"line":520},22,[248,522,285],{"class":269},[248,524,273],{"class":262},[248,526,487],{"class":362},[248,528,418],{"class":262},[248,530,531],{"class":379},"string",[248,533,431],{"class":362},[248,535,517],{"class":262},[248,537,539,541,543,545,547,549,551],{"class":250,"line":538},23,[248,540,298],{"class":269},[248,542,273],{"class":262},[248,544,487],{"class":362},[248,546,418],{"class":262},[248,548,531],{"class":379},[248,550,431],{"class":362},[248,552,517],{"class":262},[248,554,556,558,560,562,564,567,569,572,574],{"class":250,"line":555},24,[248,557,310],{"class":269},[248,559,273],{"class":262},[248,561,487],{"class":362},[248,563,418],{"class":262},[248,565,566],{"class":362},"coerce",[248,568,418],{"class":262},[248,570,571],{"class":379},"date",[248,573,431],{"class":362},[248,575,517],{"class":262},[248,577,579,582,585],{"class":250,"line":578},25,[248,580,581],{"class":262},"}",[248,583,584],{"class":362},")",[248,586,279],{"class":262},[248,588,590],{"class":250,"line":589},26,[248,591,330],{"emptyLinePlaceholder":329},[248,593,595,598,600,603,605,608,612,614,616,619,621,624,626,629,631],{"class":250,"line":594},27,[248,596,597],{"class":362},"app",[248,599,418],{"class":262},[248,601,602],{"class":379},"post",[248,604,495],{"class":362},[248,606,607],{"class":262},"\"",[248,609,611],{"class":610},"sfazB","\u002FupdateUser",[248,613,607],{"class":262},[248,615,392],{"class":262},[248,617,618],{"class":254}," function",[248,620,385],{"class":262},[248,622,623],{"class":388},"req",[248,625,392],{"class":262},[248,627,628],{"class":388}," res",[248,630,584],{"class":262},[248,632,263],{"class":262},[248,634,636,639,641,643,646,648,651,653,655,657,660,662,665],{"class":250,"line":635},28,[248,637,638],{"class":254},"  const",[248,640,395],{"class":362},[248,642,371],{"class":262},[248,644,645],{"class":362}," UserSchema",[248,647,418],{"class":262},[248,649,650],{"class":379},"parse",[248,652,495],{"class":269},[248,654,623],{"class":362},[248,656,418],{"class":262},[248,658,659],{"class":362},"body",[248,661,584],{"class":269},[248,663,664],{"class":262},";",[248,666,667],{"class":336}," \u002F\u002F Validates + deserializes dates\n",[248,669,671,674,676,678,680,682,684,686],{"class":250,"line":670},29,[248,672,673],{"class":362},"  user",[248,675,418],{"class":262},[248,677,421],{"class":362},[248,679,371],{"class":262},[248,681,426],{"class":262},[248,683,315],{"class":379},[248,685,431],{"class":269},[248,687,279],{"class":262},[248,689,691,694,696,699,701,704,706],{"class":250,"line":690},30,[248,692,693],{"class":362},"  res",[248,695,418],{"class":262},[248,697,698],{"class":379},"json",[248,700,495],{"class":269},[248,702,703],{"class":362},"user",[248,705,584],{"class":269},[248,707,279],{"class":262},[248,709,711,713,715],{"class":250,"line":710},31,[248,712,581],{"class":262},[248,714,584],{"class":362},[248,716,279],{"class":262},[718,719,721],"h3",{"id":720},"notes","Notes",[201,723,724,725,729],{},"We can observe how in this benchmark the requests take more time compared with the ",[205,726,728],{"href":727},"hello-world","'hello world'"," benchmark. This is mostly because each request is spending extra time on validation and serialization.",[201,731,732],{},[217,733,734],{},"For this specific test, the performance of the libraries used for validation and serialization might be as important than the routing and framework itself.",[736,737,739,742,743,746,747,750,751,754],"note",{"icon":738},"i-heroicons-light-bulb",[217,740,741],{},"Why does http-node might top this benchmark?"," The SimpleUser schema has only 4 fields, so Zod validation does not take much time — this benchmark ends up measuring HTTP handling efficiency rather than validation\u002Fserialization. ",[230,744,745],{},"http-node"," is a bare ",[230,748,749],{},"http.createServer"," with zero framework overhead and it's fully synchronous handler avoids the microtask scheduling cost that ",[230,752,753],{},"async\u002Fawait"," adds to frameworks like Hono bun. Notice that Bun servers only reach ~92-98% CPU utilization versus ~100-109% for http-node, suggesting an I\u002FO or scheduling bottleneck rather than a raw speed advantage.",[756,757],"spacer",{},[222,759,178],{"id":760},"benchmarks",[762,763,764,771,780,786],"ul",{},[765,766,767,770],"li",{},[217,768,769],{},"Machine:"," darwin arm64 | 12 vCPUs | 16.0GB Mem",[765,772,773,776,777],{},[217,774,775],{},"Node:"," ",[230,778,779],{},"v24.13.0",[765,781,782,785],{},[217,783,784],{},"Run:"," Wed Apr 15 2026 22:09:47 GMT+0100 (Irish Standard Time)",[765,787,788,776,791,794],{},[217,789,790],{},"Method:",[230,792,793],{},"autocannon -c 100 -d 20.10033 -p 1 localhost:3000"," (two rounds; one to warm-up, one to measure)",[796,797,799],"h4",{"id":798},"req-rs","Req (R\u002Fs)",[801,802],"bench-chart",{"id":803},"update-simple-requests",[796,805,807],{"id":806},"throughput-mbs","Throughput (Mb\u002Fs)",[801,809],{"id":810},"update-simple-throughput",[796,812,814],{"id":813},"latency-ms","Latency (ms)",[801,816],{"id":817},"update-simple-latency",[796,819,821],{"id":820},"max-memory-mb","Max Memory (Mb)",[801,823],{"id":824},"update-simple-max-mem",[796,826,828],{"id":827},"memory-series-mb","Memory Series (MB)",[801,830],{"id":831},"update-simple-mem-series",[222,833,835],{"id":834},"results-table","Results Table",[837,838,839,874],"table",{},[840,841,842],"thead",{},[843,844,845,849,853,856,859,861,864,866,869,871],"tr",{},[846,847],"th",{"align":848},"left",[846,850,852],{"align":851},"right","Version",[846,854,855],{"align":851},"Router",[846,857,799],{"align":858},"center",[846,860,814],{"align":851},[846,862,863],{"align":851},"Output (Mb\u002Fs)",[846,865,821],{"align":851},[846,867,868],{"align":851},"Max Cpu (%)",[846,870,54],{"align":858},[846,872,873],{"align":848},"Description",[875,876,877,909,939,988,1018,1067,1097,1126,1156],"tbody",{},[843,878,879,883,886,889,892,895,898,901,904,906],{},[880,881,882],"td",{"align":848},"elysia.bun",[880,884,885],{"align":851},"1.0.0",[880,887,888],{"align":851},"✓",[880,890,891],{"align":858},"82502.3",[880,893,894],{"align":851},"1.16",[880,896,897],{"align":851},"15.81",[880,899,900],{"align":851},"89",[880,902,903],{"align":851},"108",[880,905,888],{"align":858},[880,907,908],{"align":848},"Elysia framework with TypeBox validation",[843,910,911,914,917,919,922,925,928,931,934,936],{},[880,912,913],{"align":848},"hono.bun",[880,915,916],{"align":851},"3.12.6",[880,918,888],{"align":851},[880,920,921],{"align":858},"79744.7",[880,923,924],{"align":851},"1.20",[880,926,927],{"align":851},"15.28",[880,929,930],{"align":851},"71",[880,932,933],{"align":851},"109",[880,935,888],{"align":858},[880,937,938],{"align":848},"hono bun server with Zod validation",[843,940,941,946,951,955,960,965,970,975,979,983],{},[880,942,943],{"align":848},[217,944,945],{},"mion.bun",[880,947,948],{"align":851},[217,949,950],{},"0.6.2",[880,952,953],{"align":851},[217,954,888],{},[880,956,957],{"align":858},[217,958,959],{},"73772.7",[880,961,962],{"align":851},[217,963,964],{},"1.30",[880,966,967],{"align":851},[217,968,969],{},"17.93",[880,971,972],{"align":851},[217,973,974],{},"64",[880,976,977],{"align":851},[217,978,903],{},[880,980,981],{"align":858},[217,982,888],{},[880,984,985],{"align":848},[217,986,987],{},"mion using bun, automatic validation and serialization",[843,989,990,992,995,998,1001,1004,1007,1010,1013,1015],{},[880,991,745],{"align":848},[880,993,994],{"align":851},"16.18.0",[880,996,997],{"align":851},"✗",[880,999,1000],{"align":858},"59640.9",[880,1002,1003],{"align":851},"1.63",[880,1005,1006],{"align":851},"14.95",[880,1008,1009],{"align":851},"136",[880,1011,1012],{"align":851},"115",[880,1014,888],{"align":858},[880,1016,1017],{"align":848},"bare node http server with Zod validation",[843,1019,1020,1025,1029,1033,1038,1043,1048,1053,1058,1062],{},[880,1021,1022],{"align":848},[217,1023,1024],{},"mion",[880,1026,1027],{"align":851},[217,1028,950],{},[880,1030,1031],{"align":851},[217,1032,888],{},[880,1034,1035],{"align":858},[217,1036,1037],{},"55432.8",[880,1039,1040],{"align":851},[217,1041,1042],{},"1.76",[880,1044,1045],{"align":851},[217,1046,1047],{},"15.96",[880,1049,1050],{"align":851},[217,1051,1052],{},"142",[880,1054,1055],{"align":851},[217,1056,1057],{},"101",[880,1059,1060],{"align":858},[217,1061,888],{},[880,1063,1064],{"align":848},[217,1065,1066],{},"Automatic validation and serialization out of the box",[843,1068,1069,1072,1075,1077,1080,1083,1086,1089,1092,1094],{},[880,1070,1071],{"align":848},"fastify",[880,1073,1074],{"align":851},"5.7.4",[880,1076,888],{"align":851},[880,1078,1079],{"align":858},"41002.8",[880,1081,1082],{"align":851},"2.41",[880,1084,1085],{"align":851},"10.32",[880,1087,1088],{"align":851},"254",[880,1090,1091],{"align":851},"125",[880,1093,888],{"align":858},[880,1095,1096],{"align":848},"Fastify with native JSON Schema validation",[843,1098,1099,1102,1105,1107,1110,1113,1116,1119,1121,1123],{},[880,1100,1101],{"align":848},"express",[880,1103,1104],{"align":851},"5.2.1",[880,1106,888],{"align":851},[880,1108,1109],{"align":858},"40209.3",[880,1111,1112],{"align":851},"2.43",[880,1114,1115],{"align":851},"10.08",[880,1117,1118],{"align":851},"173",[880,1120,903],{"align":851},[880,1122,888],{"align":858},[880,1124,1125],{"align":848},"Express with Zod validation",[843,1127,1128,1131,1134,1136,1139,1142,1145,1148,1151,1153],{},[880,1129,1130],{"align":848},"hapi",[880,1132,1133],{"align":851},"21.4.4",[880,1135,888],{"align":851},[880,1137,1138],{"align":858},"35953.5",[880,1140,1141],{"align":851},"2.75",[880,1143,1144],{"align":851},"9.01",[880,1146,1147],{"align":851},"223",[880,1149,1150],{"align":851},"110",[880,1152,888],{"align":858},[880,1154,1155],{"align":848},"Hapi with Zod validation",[843,1157,1158,1161,1163,1165,1168,1171,1174,1177,1180,1182],{},[880,1159,1160],{"align":848},"hono",[880,1162,916],{"align":851},[880,1164,888],{"align":851},[880,1166,1167],{"align":858},"30677.7",[880,1169,1170],{"align":851},"4.23",[880,1172,1173],{"align":851},"7.25",[880,1175,1176],{"align":851},"1089",[880,1178,1179],{"align":851},"148",[880,1181,888],{"align":858},[880,1183,1184],{"align":848},"hono node server with Zod validation",[1186,1187,1190],"button-link",{"href":1188,"icon":1189,"target":210},"https:\u002F\u002Fgithub.com\u002FMionKit\u002FBenchmarks","grommet-icons:github","Benchmarks Repo",[1192,1193,1194],"style",{},"html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}","Performance benchmarks for an Update Simple User endpoint with Lightweight validation and serialization.","md",null,{"toc":26},{"title":188,"description":1195},"_8G2dH8D60WX957PZruNWLHuIZDfRnpQphAOvQHLSv4",[1202,1204],{"title":185,"path":180,"stem":186,"description":1203,"children":-1},"Performance benchmarks for a simple Hello World endpoint.",{"title":192,"path":193,"stem":194,"description":1205,"children":-1},"Performance benchmarks for an Update User endpoint with heavy validation and serialization.",1778674529967]