Skip to content

[CI] Run e2e for #1902 (Zod 4.4.x fix)#1923

Closed
TooTallNate wants to merge 3 commits into
mainfrom
ci/pr-1902
Closed

[CI] Run e2e for #1902 (Zod 4.4.x fix)#1923
TooTallNate wants to merge 3 commits into
mainfrom
ci/pr-1902

Conversation

@TooTallNate
Copy link
Copy Markdown
Member

Draft PR to run the full CI matrix on the changes from #1902 (fork PR from @ziyak97). PRs from forks don't run e2e jobs by default; this branch is the same commits pushed to the upstream repo so the CI workflows fire.

Do not merge. Closes when CI is finished and #1902 is merged via its own path.

ziyak97 and others added 3 commits May 4, 2026 15:12
I, Ziyak <ziyak97@gmail.com>, hereby add my Signed-off-by to this commit: 2bf5871

Signed-off-by: Ziyak <ziyak97@gmail.com>
Signed-off-by: Nathan Rajlich <n@n8.io>
@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented May 4, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
example-nextjs-workflow-turbopack Ready Ready Preview, Comment May 4, 2026 10:36pm
example-nextjs-workflow-webpack Ready Ready Preview, Comment May 4, 2026 10:36pm
example-workflow Ready Ready Preview, Comment May 4, 2026 10:36pm
workbench-astro-workflow Ready Ready Preview, Comment May 4, 2026 10:36pm
workbench-express-workflow Ready Ready Preview, Comment May 4, 2026 10:36pm
workbench-fastify-workflow Ready Ready Preview, Comment May 4, 2026 10:36pm
workbench-hono-workflow Ready Ready Preview, Comment May 4, 2026 10:36pm
workbench-nitro-workflow Ready Ready Preview, Comment May 4, 2026 10:36pm
workbench-nuxt-workflow Ready Ready Preview, Comment May 4, 2026 10:36pm
workbench-sveltekit-workflow Ready Ready Preview, Comment May 4, 2026 10:36pm
workbench-tanstack-start-workflow Ready Ready Preview, Comment May 4, 2026 10:36pm
workbench-vite-workflow Ready Ready Preview, Comment May 4, 2026 10:36pm
workflow-docs Ready Ready Preview, Comment, Open in v0 May 4, 2026 10:36pm
workflow-swc-playground Ready Ready Preview, Comment May 4, 2026 10:36pm
workflow-tarballs Ready Ready Preview, Comment May 4, 2026 10:36pm
workflow-web Ready Ready Preview, Comment May 4, 2026 10:36pm

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented May 4, 2026

⚠️ No Changeset found

Latest commit: fe5d16a

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 4, 2026

🧪 E2E Test Results

All tests passed

Summary

Passed Failed Skipped Total
✅ ▲ Vercel Production 903 0 219 1122
✅ 💻 Local Development 1209 0 219 1428
✅ 📦 Local Production 1209 0 219 1428
✅ 🐘 Local Postgres 1209 0 219 1428
✅ 🪟 Windows 102 0 0 102
✅ 📋 Other 538 0 176 714
Total 5170 0 1052 6222

Details by Category

✅ ▲ Vercel Production
App Passed Failed Skipped
✅ astro 76 0 26
✅ example 76 0 26
✅ express 76 0 26
✅ fastify 76 0 26
✅ hono 76 0 26
✅ nextjs-turbopack 100 0 2
✅ nextjs-webpack 100 0 2
✅ nitro 76 0 26
✅ nuxt 76 0 26
✅ sveltekit 95 0 7
✅ vite 76 0 26
✅ 💻 Local Development
App Passed Failed Skipped
✅ astro-stable 77 0 25
✅ express-stable 77 0 25
✅ fastify-stable 77 0 25
✅ hono-stable 77 0 25
✅ nextjs-turbopack-canary 83 0 19
✅ nextjs-turbopack-stable-lazy-discovery-disabled 102 0 0
✅ nextjs-turbopack-stable-lazy-discovery-enabled 102 0 0
✅ nextjs-webpack-canary 83 0 19
✅ nextjs-webpack-stable-lazy-discovery-disabled 102 0 0
✅ nextjs-webpack-stable-lazy-discovery-enabled 102 0 0
✅ nitro-stable 77 0 25
✅ nuxt-stable 77 0 25
✅ sveltekit-stable 96 0 6
✅ vite-stable 77 0 25
✅ 📦 Local Production
App Passed Failed Skipped
✅ astro-stable 77 0 25
✅ express-stable 77 0 25
✅ fastify-stable 77 0 25
✅ hono-stable 77 0 25
✅ nextjs-turbopack-canary 83 0 19
✅ nextjs-turbopack-stable-lazy-discovery-disabled 102 0 0
✅ nextjs-turbopack-stable-lazy-discovery-enabled 102 0 0
✅ nextjs-webpack-canary 83 0 19
✅ nextjs-webpack-stable-lazy-discovery-disabled 102 0 0
✅ nextjs-webpack-stable-lazy-discovery-enabled 102 0 0
✅ nitro-stable 77 0 25
✅ nuxt-stable 77 0 25
✅ sveltekit-stable 96 0 6
✅ vite-stable 77 0 25
✅ 🐘 Local Postgres
App Passed Failed Skipped
✅ astro-stable 77 0 25
✅ express-stable 77 0 25
✅ fastify-stable 77 0 25
✅ hono-stable 77 0 25
✅ nextjs-turbopack-canary 83 0 19
✅ nextjs-turbopack-stable-lazy-discovery-disabled 102 0 0
✅ nextjs-turbopack-stable-lazy-discovery-enabled 102 0 0
✅ nextjs-webpack-canary 83 0 19
✅ nextjs-webpack-stable-lazy-discovery-disabled 102 0 0
✅ nextjs-webpack-stable-lazy-discovery-enabled 102 0 0
✅ nitro-stable 77 0 25
✅ nuxt-stable 77 0 25
✅ sveltekit-stable 96 0 6
✅ vite-stable 77 0 25
✅ 🪟 Windows
App Passed Failed Skipped
✅ nextjs-turbopack 102 0 0
✅ 📋 Other
App Passed Failed Skipped
✅ e2e-local-dev-nest-stable 77 0 25
✅ e2e-local-dev-tanstack-start- 77 0 25
✅ e2e-local-postgres-nest-stable 77 0 25
✅ e2e-local-postgres-tanstack-start- 77 0 25
✅ e2e-local-prod-nest-stable 77 0 25
✅ e2e-local-prod-tanstack-start- 77 0 25
✅ e2e-vercel-prod-tanstack-start 76 0 26

📋 View full workflow run

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 4, 2026

📊 Benchmark Results

📈 Comparing against baseline from main branch. Green 🟢 = faster, Red 🔺 = slower.

workflow with no steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Nitro 0.031s (-28.8% 🟢) 1.005s (~) 0.975s 10 1.00x
💻 Local Express 0.040s (-10.6% 🟢) 1.012s (+0.7%) 0.972s 10 1.29x
🐘 Postgres Express 0.041s (-28.6% 🟢) 1.010s (~) 0.968s 10 1.35x
🐘 Postgres Nitro 0.046s (-52.1% 🟢) 1.012s (-2.9%) 0.967s 10 1.49x
💻 Local Next.js (Turbopack) 0.051s 1.006s 0.955s 10 1.65x
🌐 Redis Next.js (Turbopack) 0.057s 1.005s 0.947s 10 1.87x
🐘 Postgres Next.js (Turbopack) 0.058s 1.014s 0.955s 10 1.90x
🌐 MongoDB Next.js (Turbopack) 0.121s 1.007s 0.886s 10 3.95x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 0.251s (-38.6% 🟢) 2.116s (-15.7% 🟢) 1.864s 10 1.00x
▲ Vercel Express 0.253s (+7.4% 🔺) 2.251s (+5.4% 🔺) 1.998s 10 1.01x
▲ Vercel Next.js (Turbopack) 0.624s (+148.0% 🔺) 2.639s (+13.1% 🔺) 2.015s 10 2.48x

🔍 Observability: Nitro | Express | Next.js (Turbopack)

workflow with 1 step

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Nitro 1.070s (-5.4% 🟢) 2.006s (~) 0.936s 10 1.00x
💻 Local Express 1.073s (-4.7%) 2.006s (~) 0.934s 10 1.00x
🐘 Postgres Express 1.082s (-5.6% 🟢) 2.008s (~) 0.926s 10 1.01x
🐘 Postgres Nitro 1.085s (-4.9%) 2.008s (~) 0.923s 10 1.01x
💻 Local Next.js (Turbopack) 1.110s 2.006s 0.896s 10 1.04x
🌐 Redis Next.js (Turbopack) 1.113s 2.006s 0.893s 10 1.04x
🐘 Postgres Next.js (Turbopack) 1.115s 2.010s 0.894s 10 1.04x
🌐 MongoDB Next.js (Turbopack) 1.171s 2.008s 0.837s 10 1.09x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 1.550s (-17.3% 🟢) 4.255s (+11.8% 🔺) 2.704s 10 1.00x
▲ Vercel Nitro 2.090s (-46.3% 🟢) 5.178s (-12.4% 🟢) 3.089s 10 1.35x
▲ Vercel Next.js (Turbopack) 3.291s (+61.7% 🔺) 4.965s (+29.6% 🔺) 1.674s 10 2.12x

🔍 Observability: Express | Nitro | Next.js (Turbopack)

workflow with 10 sequential steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Nitro 10.398s (-5.0% 🟢) 11.022s (~) 0.624s 3 1.00x
🐘 Postgres Express 10.415s (-5.0% 🟢) 11.017s (~) 0.602s 3 1.00x
💻 Local Express 10.425s (-4.6%) 11.022s (~) 0.597s 3 1.00x
🐘 Postgres Nitro 10.445s (-3.9%) 11.018s (~) 0.573s 3 1.00x
🌐 Redis Next.js (Turbopack) 10.641s 11.023s 0.382s 3 1.02x
💻 Local Next.js (Turbopack) 10.676s 11.022s 0.346s 3 1.03x
🐘 Postgres Next.js (Turbopack) 10.686s 11.017s 0.331s 3 1.03x
🌐 MongoDB Next.js (Turbopack) 10.780s 11.015s 0.235s 3 1.04x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 13.493s (-20.5% 🟢) 15.501s (-22.6% 🟢) 2.007s 2 1.00x
▲ Vercel Nitro 13.680s (-42.4% 🟢) 15.036s (-40.1% 🟢) 1.356s 3 1.01x
▲ Vercel Next.js (Turbopack) 15.385s (-11.2% 🟢) 16.897s (-12.9% 🟢) 1.512s 2 1.14x

🔍 Observability: Express | Nitro | Next.js (Turbopack)

workflow with 25 sequential steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 13.477s (-7.6% 🟢) 14.016s (-6.7% 🟢) 0.539s 5 1.00x
🐘 Postgres Nitro 13.484s (-7.6% 🟢) 14.017s (-6.7% 🟢) 0.533s 5 1.00x
💻 Local Express 13.490s (-9.9% 🟢) 14.026s (-6.7% 🟢) 0.536s 5 1.00x
💻 Local Nitro 13.491s (-10.4% 🟢) 14.027s (-12.5% 🟢) 0.536s 5 1.00x
🌐 Redis Next.js (Turbopack) 14.036s 14.428s 0.391s 5 1.04x
🐘 Postgres Next.js (Turbopack) 14.174s 15.016s 0.843s 4 1.05x
🌐 MongoDB Next.js (Turbopack) 14.186s 15.018s 0.832s 4 1.05x
💻 Local Next.js (Turbopack) 14.263s 15.029s 0.766s 4 1.06x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 20.739s (-58.8% 🟢) 22.736s (-56.7% 🟢) 1.997s 3 1.00x
▲ Vercel Nitro 21.013s (-67.4% 🟢) 22.739s (-65.9% 🟢) 1.726s 3 1.01x
▲ Vercel Next.js (Turbopack) 22.499s (-57.2% 🟢) 24.372s (-55.4% 🟢) 1.873s 3 1.08x

🔍 Observability: Express | Nitro | Next.js (Turbopack)

workflow with 50 sequential steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Nitro 11.867s (-29.3% 🟢) 12.022s (-29.4% 🟢) 0.155s 8 1.00x
🐘 Postgres Nitro 11.912s (-14.7% 🟢) 12.015s (-16.0% 🟢) 0.102s 8 1.00x
💻 Local Express 11.968s (-27.9% 🟢) 12.273s (-27.9% 🟢) 0.305s 8 1.01x
🐘 Postgres Express 12.010s (-14.3% 🟢) 12.641s (-13.4% 🟢) 0.631s 8 1.01x
🌐 Redis Next.js (Turbopack) 12.942s 13.311s 0.369s 7 1.09x
💻 Local Next.js (Turbopack) 13.173s 14.027s 0.854s 7 1.11x
🌐 MongoDB Next.js (Turbopack) 13.246s 14.019s 0.773s 7 1.12x
🐘 Postgres Next.js (Turbopack) 13.334s 14.017s 0.682s 7 1.12x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 33.006s (-92.2% 🟢) 35.132s (-91.7% 🟢) 2.126s 3 1.00x
▲ Vercel Express 33.144s (-72.7% 🟢) 35.491s (-71.3% 🟢) 2.347s 3 1.00x
▲ Vercel Next.js (Turbopack) 34.228s (-91.3% 🟢) 36.629s (-90.7% 🟢) 2.400s 3 1.04x

🔍 Observability: Nitro | Express | Next.js (Turbopack)

Promise.all with 10 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Nitro 1.143s (-10.3% 🟢) 2.007s (~) 0.864s 15 1.00x
🐘 Postgres Express 1.150s (-8.7% 🟢) 2.007s (~) 0.857s 15 1.01x
💻 Local Nitro 1.183s (-27.5% 🟢) 2.006s (-3.3%) 0.823s 15 1.03x
💻 Local Express 1.187s (-20.3% 🟢) 2.006s (~) 0.820s 15 1.04x
🐘 Postgres Next.js (Turbopack) 1.212s 2.007s 0.794s 15 1.06x
🌐 Redis Next.js (Turbopack) 1.238s 2.006s 0.768s 15 1.08x
💻 Local Next.js (Turbopack) 1.278s 2.006s 0.728s 15 1.12x
🌐 MongoDB Next.js (Turbopack) 2.038s 3.007s 0.969s 10 1.78x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 2.351s (-16.6% 🟢) 3.897s (-9.8% 🟢) 1.546s 8 1.00x
▲ Vercel Express 2.413s (-15.6% 🟢) 4.305s (-6.9% 🟢) 1.892s 7 1.03x
▲ Vercel Next.js (Turbopack) 5.860s (+72.5% 🔺) 7.645s (+55.0% 🔺) 1.785s 4 2.49x

🔍 Observability: Nitro | Express | Next.js (Turbopack)

Promise.all with 25 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 1.217s (-48.4% 🟢) 2.006s (-33.3% 🟢) 0.789s 15 1.00x
🐘 Postgres Nitro 1.228s (-47.8% 🟢) 2.008s (-33.3% 🟢) 0.780s 15 1.01x
🐘 Postgres Next.js (Turbopack) 1.357s 2.008s 0.651s 15 1.11x
💻 Local Nitro 1.689s (-46.3% 🟢) 2.006s (-48.4% 🟢) 0.317s 15 1.39x
💻 Local Next.js (Turbopack) 1.805s 2.073s 0.267s 15 1.48x
💻 Local Express 1.819s (-38.4% 🟢) 2.074s (-40.0% 🟢) 0.255s 15 1.49x
🌐 Redis Next.js (Turbopack) 2.359s 3.008s 0.649s 10 1.94x
🌐 MongoDB Next.js (Turbopack) 3.583s 4.008s 0.425s 8 2.94x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 3.237s (-10.5% 🟢) 5.377s (+5.2% 🔺) 2.140s 6 1.00x
▲ Vercel Nitro 4.231s (+4.4%) 5.751s (-2.9%) 1.521s 6 1.31x
▲ Vercel Next.js (Turbopack) 5.150s (-27.5% 🟢) 6.921s (-22.3% 🟢) 1.772s 5 1.59x

🔍 Observability: Express | Nitro | Next.js (Turbopack)

Promise.all with 50 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 1.311s (-62.4% 🟢) 2.007s (-50.0% 🟢) 0.695s 15 1.00x
🐘 Postgres Nitro 1.375s (-60.5% 🟢) 2.008s (-49.9% 🟢) 0.633s 15 1.05x
🐘 Postgres Next.js (Turbopack) 1.641s 2.008s 0.367s 15 1.25x
🌐 Redis Next.js (Turbopack) 3.581s 4.010s 0.429s 8 2.73x
💻 Local Nitro 4.487s (-46.3% 🟢) 5.011s (-44.4% 🟢) 0.524s 7 3.42x
💻 Local Express 5.220s (-37.4% 🟢) 5.680s (-37.1% 🟢) 0.460s 6 3.98x
💻 Local Next.js (Turbopack) 5.566s 6.013s 0.447s 5 4.24x
🌐 MongoDB Next.js (Turbopack) 6.310s 7.011s 0.702s 5 4.81x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 5.711s (+62.0% 🔺) 7.260s (+31.2% 🔺) 1.549s 5 1.00x
▲ Vercel Next.js (Turbopack) 6.242s (-30.0% 🟢) 8.377s (-23.6% 🟢) 2.135s 4 1.09x
▲ Vercel Express 6.383s (+50.5% 🔺) 8.807s (+43.7% 🔺) 2.424s 4 1.12x

🔍 Observability: Nitro | Next.js (Turbopack) | Express

Promise.race with 10 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 1.136s (-9.6% 🟢) 2.008s (~) 0.871s 15 1.00x
🐘 Postgres Nitro 1.178s (-6.3% 🟢) 2.008s (~) 0.830s 15 1.04x
🐘 Postgres Next.js (Turbopack) 1.208s 2.008s 0.799s 15 1.06x
🌐 Redis Next.js (Turbopack) 1.226s 2.006s 0.780s 15 1.08x
💻 Local Next.js (Turbopack) 1.336s 2.006s 0.670s 15 1.18x
💻 Local Nitro 1.379s (-26.1% 🟢) 2.006s (-14.3% 🟢) 0.627s 15 1.21x
💻 Local Express 1.439s (-24.0% 🟢) 2.006s (-15.1% 🟢) 0.566s 15 1.27x
🌐 MongoDB Next.js (Turbopack) 2.032s 2.826s 0.794s 11 1.79x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 2.312s (-6.0% 🟢) 3.680s (-11.7% 🟢) 1.368s 9 1.00x
▲ Vercel Express 2.451s (-5.1% 🟢) 4.517s (+3.9%) 2.067s 7 1.06x
▲ Vercel Next.js (Turbopack) 4.175s (+42.4% 🔺) 6.495s (+39.9% 🔺) 2.320s 5 1.81x

🔍 Observability: Nitro | Express | Next.js (Turbopack)

Promise.race with 25 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 1.206s (-48.5% 🟢) 2.007s (-33.4% 🟢) 0.801s 15 1.00x
🐘 Postgres Nitro 1.238s (-47.1% 🟢) 2.009s (-33.3% 🟢) 0.771s 15 1.03x
🐘 Postgres Next.js (Turbopack) 1.349s 2.008s 0.659s 15 1.12x
💻 Local Express 2.060s (-34.2% 🟢) 2.591s (-31.1% 🟢) 0.531s 12 1.71x
💻 Local Nitro 2.084s (-32.0% 🟢) 2.508s (-35.5% 🟢) 0.424s 12 1.73x
💻 Local Next.js (Turbopack) 2.189s 3.008s 0.818s 10 1.82x
🌐 Redis Next.js (Turbopack) 2.341s 3.008s 0.667s 10 1.94x
🌐 MongoDB Next.js (Turbopack) 3.567s 4.007s 0.440s 8 2.96x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 3.385s (+4.7%) 5.067s (~) 1.682s 6 1.00x
▲ Vercel Express 3.396s (+6.4% 🔺) 5.511s (+15.0% 🔺) 2.115s 6 1.00x
▲ Vercel Next.js (Turbopack) 6.150s (+95.7% 🔺) 8.087s (+78.8% 🔺) 1.937s 4 1.82x

🔍 Observability: Nitro | Express | Next.js (Turbopack)

Promise.race with 50 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 1.302s (-62.8% 🟢) 2.008s (-49.9% 🟢) 0.706s 15 1.00x
🐘 Postgres Nitro 1.363s (-60.8% 🟢) 2.008s (-49.9% 🟢) 0.645s 15 1.05x
🐘 Postgres Next.js (Turbopack) 1.622s 2.010s 0.388s 15 1.25x
🌐 Redis Next.js (Turbopack) 3.620s 4.010s 0.389s 8 2.78x
💻 Local Nitro 4.964s (-45.7% 🟢) 5.515s (-45.0% 🟢) 0.550s 6 3.81x
💻 Local Express 5.776s (-34.4% 🟢) 6.347s (-31.6% 🟢) 0.571s 6 4.44x
💻 Local Next.js (Turbopack) 6.059s 6.414s 0.355s 5 4.65x
🌐 MongoDB Next.js (Turbopack) 6.279s 7.009s 0.730s 5 4.82x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 4.696s (-7.8% 🟢) 6.454s (-5.3% 🟢) 1.758s 5 1.00x
▲ Vercel Express 5.142s (-19.9% 🟢) 7.214s (-11.8% 🟢) 2.072s 5 1.10x
▲ Vercel Next.js (Turbopack) 5.952s (-11.9% 🟢) 8.418s (-1.5%) 2.467s 4 1.27x

🔍 Observability: Nitro | Express | Next.js (Turbopack)

workflow with 10 sequential data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 0.432s (-48.5% 🟢) 1.006s (-1.7%) 0.574s 60 1.00x
🐘 Postgres Nitro 0.456s (-44.4% 🟢) 1.006s (~) 0.550s 60 1.06x
💻 Local Express 0.489s (-50.3% 🟢) 1.004s (-6.7% 🟢) 0.515s 60 1.13x
💻 Local Nitro 0.517s (-47.3% 🟢) 1.021s (-6.7% 🟢) 0.504s 59 1.20x
🌐 Redis Next.js (Turbopack) 0.611s 1.004s 0.394s 60 1.41x
🐘 Postgres Next.js (Turbopack) 0.689s 1.006s 0.317s 60 1.60x
🌐 MongoDB Next.js (Turbopack) 0.731s 1.005s 0.275s 60 1.69x
💻 Local Next.js (Turbopack) 0.778s 1.022s 0.243s 59 1.80x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 4.774s (-78.4% 🟢) 6.355s (-73.5% 🟢) 1.582s 10 1.00x
▲ Vercel Express 4.794s (-74.8% 🟢) 6.872s (-67.8% 🟢) 2.078s 9 1.00x
▲ Vercel Next.js (Turbopack) 6.695s (-53.8% 🟢) 9.111s (-43.4% 🟢) 2.415s 7 1.40x

🔍 Observability: Nitro | Express | Next.js (Turbopack)

workflow with 25 sequential data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Nitro 1.031s (-46.5% 🟢) 1.705s (-18.8% 🟢) 0.674s 53 1.00x
🐘 Postgres Express 1.077s (-45.5% 🟢) 1.771s (-21.6% 🟢) 0.693s 51 1.04x
💻 Local Nitro 1.172s (-61.4% 🟢) 2.006s (-46.6% 🟢) 0.834s 45 1.14x
💻 Local Express 1.226s (-59.4% 🟢) 2.006s (-44.1% 🟢) 0.780s 45 1.19x
🌐 Redis Next.js (Turbopack) 1.482s 2.006s 0.523s 45 1.44x
🐘 Postgres Next.js (Turbopack) 1.647s 2.008s 0.361s 45 1.60x
🌐 MongoDB Next.js (Turbopack) 1.821s 2.007s 0.186s 45 1.77x
💻 Local Next.js (Turbopack) 1.823s 2.028s 0.205s 45 1.77x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 12.153s (-64.8% 🟢) 14.696s (-60.1% 🟢) 2.543s 7 1.00x
▲ Vercel Nitro 12.252s (-69.0% 🟢) 13.974s (-66.2% 🟢) 1.722s 7 1.01x
▲ Vercel Next.js (Turbopack) 15.413s (-69.1% 🟢) 18.393s (-64.4% 🟢) 2.980s 5 1.27x

🔍 Observability: Express | Nitro | Next.js (Turbopack)

workflow with 50 sequential data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Nitro 2.065s (-49.7% 🟢) 2.603s (-43.5% 🟢) 0.538s 47 1.00x
🐘 Postgres Express 2.070s (-48.1% 🟢) 2.527s (-42.2% 🟢) 0.457s 48 1.00x
💻 Local Nitro 2.662s (-71.4% 🟢) 3.007s (-70.0% 🟢) 0.345s 40 1.29x
💻 Local Express 2.770s (-69.9% 🟢) 3.084s (-69.2% 🟢) 0.314s 39 1.34x
🌐 Redis Next.js (Turbopack) 3.040s 3.396s 0.356s 36 1.47x
🐘 Postgres Next.js (Turbopack) 3.207s 4.009s 0.802s 30 1.55x
💻 Local Next.js (Turbopack) 3.864s 4.008s 0.144s 30 1.87x
🌐 MongoDB Next.js (Turbopack) 4.139s 5.011s 0.873s 24 2.00x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 36.800s (-62.0% 🟢) 38.948s (-60.4% 🟢) 2.148s 4 1.00x
▲ Vercel Express 36.907s (-71.6% 🟢) 39.330s (-70.2% 🟢) 2.423s 4 1.00x
▲ Vercel Next.js (Turbopack) 43.991s (-58.9% 🟢) 46.701s (-57.1% 🟢) 2.710s 3 1.20x

🔍 Observability: Nitro | Express | Next.js (Turbopack)

workflow with 10 concurrent data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 0.174s (-38.2% 🟢) 1.005s (~) 0.831s 60 1.00x
🐘 Postgres Nitro 0.186s (-34.3% 🟢) 1.006s (~) 0.820s 60 1.07x
🐘 Postgres Next.js (Turbopack) 0.235s 1.006s 0.771s 60 1.35x
🌐 Redis Next.js (Turbopack) 0.248s 1.004s 0.756s 60 1.42x
💻 Local Nitro 0.438s (-27.6% 🟢) 1.004s (-1.7%) 0.566s 60 2.51x
💻 Local Express 0.446s (-20.4% 🟢) 1.004s (~) 0.558s 60 2.56x
💻 Local Next.js (Turbopack) 0.592s 1.005s 0.413s 60 3.39x
🌐 MongoDB Next.js (Turbopack) 1.030s 1.720s 0.691s 35 5.90x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 2.170s (+11.0% 🔺) 4.175s (+14.8% 🔺) 2.005s 15 1.00x
▲ Vercel Nitro 2.353s (+41.7% 🔺) 4.179s (+24.7% 🔺) 1.826s 15 1.08x
▲ Vercel Next.js (Turbopack) 3.757s (+85.8% 🔺) 5.657s (+49.1% 🔺) 1.900s 11 1.73x

🔍 Observability: Express | Nitro | Next.js (Turbopack)

workflow with 25 concurrent data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 0.289s (-43.4% 🟢) 1.006s (~) 0.717s 90 1.00x
🐘 Postgres Nitro 0.313s (-37.0% 🟢) 1.006s (~) 0.693s 90 1.08x
🌐 Redis Next.js (Turbopack) 0.407s 1.004s 0.597s 90 1.41x
🐘 Postgres Next.js (Turbopack) 0.455s 1.006s 0.551s 90 1.58x
💻 Local Nitro 2.198s (-13.4% 🟢) 2.797s (-7.1% 🟢) 0.598s 33 7.61x
💻 Local Express 2.256s (-10.2% 🟢) 2.883s (-4.2%) 0.627s 32 7.81x
💻 Local Next.js (Turbopack) 2.531s 3.113s 0.582s 29 8.77x
🌐 MongoDB Next.js (Turbopack) 2.594s 3.006s 0.412s 30 8.98x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 6.298s (+106.7% 🔺) 8.243s (+71.5% 🔺) 1.945s 11 1.00x
▲ Vercel Next.js (Turbopack) 6.890s (+94.9% 🔺) 9.156s (+76.3% 🔺) 2.266s 11 1.09x
▲ Vercel Nitro 8.302s (+157.4% 🔺) 10.146s (+110.4% 🔺) 1.844s 9 1.32x

🔍 Observability: Express | Next.js (Turbopack) | Nitro

workflow with 50 concurrent data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 0.580s (-29.1% 🟢) 1.005s (-1.2%) 0.425s 120 1.00x
🐘 Postgres Nitro 0.632s (-20.1% 🟢) 1.006s (~) 0.374s 120 1.09x
🌐 Redis Next.js (Turbopack) 0.755s 1.004s 0.249s 120 1.30x
🐘 Postgres Next.js (Turbopack) 0.940s 1.232s 0.292s 98 1.62x
🌐 MongoDB Next.js (Turbopack) 5.361s 6.012s 0.651s 20 9.24x
💻 Local Nitro 9.844s (-12.0% 🟢) 10.448s (-10.4% 🟢) 0.604s 12 16.96x
💻 Local Express 10.178s (-9.0% 🟢) 10.858s (-9.1% 🟢) 0.680s 12 17.54x
💻 Local Next.js (Turbopack) 11.437s 12.032s 0.595s 10 19.71x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Next.js (Turbopack) 22.622s (+119.0% 🔺) 25.000s (+103.5% 🔺) 2.378s 6 1.00x
▲ Vercel Express 23.086s (+211.1% 🔺) 25.434s (+175.1% 🔺) 2.348s 6 1.02x
▲ Vercel Nitro 24.723s (+220.1% 🔺) 26.737s (+184.4% 🔺) 2.015s 5 1.09x

🔍 Observability: Next.js (Turbopack) | Express | Nitro

Stream Benchmarks (includes TTFB metrics)
workflow with stream

💻 Local Development

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Express 1.132s (+468.6% 🔺) 2.005s (+99.6% 🔺) 0.012s (+2.5%) 2.020s (+98.4% 🔺) 0.888s 10 1.00x
🐘 Postgres Nitro 1.135s (+453.6% 🔺) 1.999s (+100.0% 🔺) 0.001s (-20.0% 🟢) 2.011s (+98.8% 🔺) 0.876s 10 1.00x
💻 Local Nitro 1.140s (+433.5% 🔺) 2.005s (+99.6% 🔺) 0.010s (-17.6% 🟢) 2.018s (+98.0% 🔺) 0.878s 10 1.01x
🐘 Postgres Express 1.147s (+459.0% 🔺) 2.000s (+100.3% 🔺) 0.001s (-31.3% 🟢) 2.009s (+98.6% 🔺) 0.863s 10 1.01x
🐘 Postgres Next.js (Turbopack) 1.192s 2.002s 0.001s 2.011s 0.819s 10 1.05x
💻 Local Next.js (Turbopack) 1.195s 2.003s 0.013s 2.020s 0.824s 10 1.06x
🌐 MongoDB Next.js (Turbopack) ⚠️ missing - - - - -
🌐 Redis Next.js (Turbopack) ⚠️ missing - - - - -

▲ Production (Vercel)

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 2.129s (-15.0% 🟢) 3.712s (-9.2% 🟢) 1.527s (+59.0% 🔺) 5.739s (+2.7%) 3.610s 10 1.00x
▲ Vercel Nitro 2.182s (-43.1% 🟢) 3.059s (-42.0% 🟢) 1.920s (+158.7% 🔺) 5.378s (-17.1% 🟢) 3.196s 10 1.02x
▲ Vercel Next.js (Turbopack) 4.846s (-29.3% 🟢) 5.106s (-41.0% 🟢) 0.694s (+9.8% 🔺) 7.636s (-22.0% 🟢) 2.789s 10 2.28x

🔍 Observability: Express | Nitro | Next.js (Turbopack)

stream pipeline with 5 transform steps (1MB)

💻 Local Development

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 1.508s (+139.4% 🔺) 2.007s (+99.4% 🔺) 0.003s (-16.5% 🟢) 2.022s (+97.6% 🔺) 0.514s 30 1.00x
💻 Local Nitro 1.515s (+80.6% 🔺) 2.012s (+98.9% 🔺) 0.011s (+12.1% 🔺) 2.025s (+81.4% 🔺) 0.510s 30 1.00x
🐘 Postgres Nitro 1.523s (+144.0% 🔺) 2.001s (+98.8% 🔺) 0.004s (-14.6% 🟢) 2.026s (+98.1% 🔺) 0.503s 30 1.01x
💻 Local Express 1.538s (+103.2% 🔺) 2.010s (+95.4% 🔺) 0.010s (+9.4% 🔺) 2.022s (+94.5% 🔺) 0.484s 30 1.02x
🐘 Postgres Next.js (Turbopack) 1.674s 2.009s 0.004s 2.025s 0.351s 30 1.11x
💻 Local Next.js (Turbopack) 1.683s 2.009s 0.011s 2.024s 0.341s 30 1.12x
🌐 MongoDB Next.js (Turbopack) ⚠️ missing - - - - -
🌐 Redis Next.js (Turbopack) ⚠️ missing - - - - -

▲ Production (Vercel)

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 5.976s (-8.1% 🟢) 7.556s (-5.7% 🟢) 0.314s (-23.1% 🟢) 8.520s (-3.6%) 2.543s 8 1.00x
▲ Vercel Nitro 6.052s (-79.4% 🟢) 7.327s (-76.2% 🟢) 0.322s (+187.8% 🔺) 8.197s (-74.2% 🟢) 2.145s 8 1.01x
▲ Vercel Next.js (Turbopack) 12.951s (-23.4% 🟢) 14.331s (-21.4% 🟢) 0.308s (+45.8% 🔺) 16.231s (-14.3% 🟢) 3.280s 4 2.17x

🔍 Observability: Express | Nitro | Next.js (Turbopack)

10 parallel streams (1MB each)

💻 Local Development

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Nitro 0.652s (-32.7% 🟢) 1.010s (-19.1% 🟢) 0.000s (+62.7% 🔺) 1.034s (-17.8% 🟢) 0.382s 59 1.00x
🐘 Postgres Express 0.661s (-31.2% 🟢) 1.034s (-19.1% 🟢) 0.000s (+21.1% 🔺) 1.056s (-19.2% 🟢) 0.395s 57 1.01x
🐘 Postgres Next.js (Turbopack) 0.775s 1.053s 0.000s 1.067s 0.291s 57 1.19x
💻 Local Express 1.351s (+10.3% 🔺) 2.016s (~) 0.000s (+30.0% 🔺) 2.018s (~) 0.667s 30 2.07x
💻 Local Nitro 1.362s (+11.4% 🔺) 2.015s (~) 0.000s (+233.3% 🔺) 2.017s (~) 0.656s 30 2.09x
💻 Local Next.js (Turbopack) 1.446s 2.013s 0.000s 2.017s 0.571s 30 2.22x
🌐 MongoDB Next.js (Turbopack) ⚠️ missing - - - - -
🌐 Redis Next.js (Turbopack) ⚠️ missing - - - - -

▲ Production (Vercel)

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 3.538s (+16.0% 🔺) 4.625s (+5.3% 🔺) 0.000s (+8.3% 🔺) 5.175s (+7.6% 🔺) 1.637s 12 1.00x
▲ Vercel Express 3.999s (+6.9% 🔺) 5.664s (+11.0% 🔺) 0.000s (-45.0% 🟢) 6.289s (+13.7% 🔺) 2.290s 10 1.13x
▲ Vercel Next.js (Turbopack) ⚠️ missing - - - - -

🔍 Observability: Nitro | Express

fan-out fan-in 10 streams (1MB each)

💻 Local Development

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 1.295s (-26.9% 🟢) 2.069s (-5.0%) 0.000s (NaN%) 2.082s (-5.3% 🟢) 0.788s 29 1.00x
🐘 Postgres Nitro 1.384s (-22.7% 🟢) 2.098s (-2.0%) 0.000s (-3.4%) 2.113s (-2.8%) 0.729s 29 1.07x
🐘 Postgres Next.js (Turbopack) 1.622s 2.144s 0.000s 2.169s 0.548s 28 1.25x
💻 Local Next.js (Turbopack) 2.748s 3.287s 0.000s 3.295s 0.546s 19 2.12x
💻 Local Nitro 2.974s (-12.2% 🟢) 3.780s (-6.3% 🟢) 0.000s (-53.1% 🟢) 3.782s (-6.3% 🟢) 0.807s 16 2.30x
💻 Local Express 3.261s (-6.0% 🟢) 3.966s (-1.7%) 0.000s (-53.1% 🟢) 3.970s (-1.7%) 0.709s 16 2.52x
🌐 MongoDB Next.js (Turbopack) ⚠️ missing - - - - -
🌐 Redis Next.js (Turbopack) ⚠️ missing - - - - -

▲ Production (Vercel)

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 5.771s (+41.0% 🔺) 6.937s (+29.1% 🔺) 0.000s (-59.3% 🟢) 7.363s (+27.1% 🔺) 1.592s 9 1.00x
▲ Vercel Express 5.885s (+28.3% 🔺) 7.527s (+25.0% 🔺) 0.000s (+Infinity% 🔺) 8.060s (+24.8% 🔺) 2.174s 8 1.02x
▲ Vercel Next.js (Turbopack) 8.617s (+53.4% 🔺) 9.364s (+34.1% 🔺) 0.000s (+166.7% 🔺) 10.407s (+38.0% 🔺) 1.790s 6 1.49x

🔍 Observability: Nitro | Express | Next.js (Turbopack)

Summary

Fastest Framework by World

Winner determined by most benchmark wins

World 🥇 Fastest Framework Wins
💻 Local Nitro 14/21
🐘 Postgres Express 15/21
▲ Vercel Nitro 11/21
Fastest World by Framework

Winner determined by most benchmark wins

Framework 🥇 Fastest World Wins
Express 🐘 Postgres 17/21
Next.js (Turbopack) 🐘 Postgres 11/21
Nitro 🐘 Postgres 16/21
Column Definitions
  • Workflow Time: Runtime reported by workflow (completedAt - createdAt) - primary metric
  • TTFB: Time to First Byte - time from workflow start until first stream byte received (stream benchmarks only)
  • Slurp: Time from first byte to complete stream consumption (stream benchmarks only)
  • Wall Time: Total testbench time (trigger workflow + poll for result)
  • Overhead: Testbench overhead (Wall Time - Workflow Time)
  • Samples: Number of benchmark iterations run
  • vs Fastest: How much slower compared to the fastest configuration for this benchmark

Worlds:

  • 💻 Local: In-memory filesystem world (local development)
  • 🐘 Postgres: PostgreSQL database world (local development)
  • ▲ Vercel: Vercel production/preview deployment
  • 🌐 Turso: Community world (local development)
  • 🌐 MongoDB: Community world (local development)
  • 🌐 Redis: Community world (local development)
  • 🌐 Jazz: Community world (local development)

📋 View full workflow run

@TooTallNate TooTallNate closed this May 4, 2026
@TooTallNate TooTallNate deleted the ci/pr-1902 branch May 4, 2026 22:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants