Skip to content

Remove instrumentation from workbench#1959

Merged
ijjk merged 3 commits intomainfrom
ijjk/remove-instrumentation
May 9, 2026
Merged

Remove instrumentation from workbench#1959
ijjk merged 3 commits intomainfrom
ijjk/remove-instrumentation

Conversation

@ijjk
Copy link
Copy Markdown
Member

@ijjk ijjk commented May 7, 2026

This removes the instrumentation world setup stub that we had from the beginning but is not in our getting started docs https://workflow-sdk.dev/docs/getting-started/next so this ensures we're testing what we actually tell users to do.

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented May 7, 2026

⚠️ No Changeset found

Latest commit: 98b0af2

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

@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented May 7, 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 9, 2026 4:39pm
example-nextjs-workflow-webpack Ready Ready Preview, Comment May 9, 2026 4:39pm
example-workflow Ready Ready Preview, Comment May 9, 2026 4:39pm
workbench-astro-workflow Ready Ready Preview, Comment May 9, 2026 4:39pm
workbench-express-workflow Ready Ready Preview, Comment May 9, 2026 4:39pm
workbench-fastify-workflow Ready Ready Preview, Comment May 9, 2026 4:39pm
workbench-hono-workflow Ready Ready Preview, Comment May 9, 2026 4:39pm
workbench-nitro-workflow Ready Ready Preview, Comment May 9, 2026 4:39pm
workbench-nuxt-workflow Ready Ready Preview, Comment May 9, 2026 4:39pm
workbench-sveltekit-workflow Ready Ready Preview, Comment May 9, 2026 4:39pm
workbench-tanstack-start-workflow Ready Ready Preview, Comment May 9, 2026 4:39pm
workbench-vite-workflow Ready Ready Preview, Comment May 9, 2026 4:39pm
workflow-docs Ready Ready Preview, Comment, Open in v0 May 9, 2026 4:39pm
workflow-swc-playground Ready Ready Preview, Comment May 9, 2026 4:39pm
workflow-tarballs Ready Ready Preview, Comment May 9, 2026 4:39pm
workflow-web Ready Ready Preview, Comment May 9, 2026 4:39pm

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 7, 2026

🧪 E2E Test Results

All tests passed

Summary

Passed Failed Skipped Total
✅ ▲ Vercel Production 1200 0 219 1419
✅ 💻 Local Development 1587 0 219 1806
✅ 📦 Local Production 1587 0 219 1806
✅ 🐘 Local Postgres 1587 0 219 1806
✅ 🪟 Windows 129 0 0 129
✅ 📋 Other 727 0 176 903
Total 6817 0 1052 7869

Details by Category

✅ ▲ Vercel Production
App Passed Failed Skipped
✅ astro 103 0 26
✅ example 103 0 26
✅ express 103 0 26
✅ fastify 103 0 26
✅ hono 103 0 26
✅ nextjs-turbopack 127 0 2
✅ nextjs-webpack 127 0 2
✅ nitro 103 0 26
✅ nuxt 103 0 26
✅ sveltekit 122 0 7
✅ vite 103 0 26
✅ 💻 Local Development
App Passed Failed Skipped
✅ astro-stable 104 0 25
✅ express-stable 104 0 25
✅ fastify-stable 104 0 25
✅ hono-stable 104 0 25
✅ nextjs-turbopack-canary 110 0 19
✅ nextjs-turbopack-stable-lazy-discovery-disabled 129 0 0
✅ nextjs-turbopack-stable-lazy-discovery-enabled 129 0 0
✅ nextjs-webpack-canary 110 0 19
✅ nextjs-webpack-stable-lazy-discovery-disabled 129 0 0
✅ nextjs-webpack-stable-lazy-discovery-enabled 129 0 0
✅ nitro-stable 104 0 25
✅ nuxt-stable 104 0 25
✅ sveltekit-stable 123 0 6
✅ vite-stable 104 0 25
✅ 📦 Local Production
App Passed Failed Skipped
✅ astro-stable 104 0 25
✅ express-stable 104 0 25
✅ fastify-stable 104 0 25
✅ hono-stable 104 0 25
✅ nextjs-turbopack-canary 110 0 19
✅ nextjs-turbopack-stable-lazy-discovery-disabled 129 0 0
✅ nextjs-turbopack-stable-lazy-discovery-enabled 129 0 0
✅ nextjs-webpack-canary 110 0 19
✅ nextjs-webpack-stable-lazy-discovery-disabled 129 0 0
✅ nextjs-webpack-stable-lazy-discovery-enabled 129 0 0
✅ nitro-stable 104 0 25
✅ nuxt-stable 104 0 25
✅ sveltekit-stable 123 0 6
✅ vite-stable 104 0 25
✅ 🐘 Local Postgres
App Passed Failed Skipped
✅ astro-stable 104 0 25
✅ express-stable 104 0 25
✅ fastify-stable 104 0 25
✅ hono-stable 104 0 25
✅ nextjs-turbopack-canary 110 0 19
✅ nextjs-turbopack-stable-lazy-discovery-disabled 129 0 0
✅ nextjs-turbopack-stable-lazy-discovery-enabled 129 0 0
✅ nextjs-webpack-canary 110 0 19
✅ nextjs-webpack-stable-lazy-discovery-disabled 129 0 0
✅ nextjs-webpack-stable-lazy-discovery-enabled 129 0 0
✅ nitro-stable 104 0 25
✅ nuxt-stable 104 0 25
✅ sveltekit-stable 123 0 6
✅ vite-stable 104 0 25
✅ 🪟 Windows
App Passed Failed Skipped
✅ nextjs-turbopack 129 0 0
✅ 📋 Other
App Passed Failed Skipped
✅ e2e-local-dev-nest-stable 104 0 25
✅ e2e-local-dev-tanstack-start- 104 0 25
✅ e2e-local-postgres-nest-stable 104 0 25
✅ e2e-local-postgres-tanstack-start- 104 0 25
✅ e2e-local-prod-nest-stable 104 0 25
✅ e2e-local-prod-tanstack-start- 104 0 25
✅ e2e-vercel-prod-tanstack-start 103 0 26

📋 View full workflow run

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 7, 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 🥇 Express 0.033s (-24.8% 🟢) 1.005s (~) 0.972s 10 1.00x
💻 Local Nitro 0.034s (-22.0% 🟢) 1.006s (~) 0.972s 10 1.01x
💻 Local Next.js (Turbopack) 0.048s 1.005s 0.957s 10 1.45x
🐘 Postgres Nitro 0.051s (-46.7% 🟢) 1.012s (-3.0%) 0.961s 10 1.52x
🐘 Postgres Express 0.056s (-4.3%) 1.011s (~) 0.956s 10 1.67x
🐘 Postgres Next.js (Turbopack) 0.058s 1.012s 0.954s 10 1.74x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 0.247s (-39.7% 🟢) 2.215s (-11.7% 🟢) 1.967s 10 1.00x
▲ Vercel Express 0.265s (+12.4% 🔺) 2.163s (+1.3%) 1.898s 10 1.07x
▲ Vercel Next.js (Turbopack) 0.366s (+45.6% 🔺) 3.816s (+63.6% 🔺) 3.450s 10 1.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.074s (-5.1% 🟢) 2.006s (~) 0.932s 10 1.00x
💻 Local Express 1.074s (-4.5%) 2.005s (~) 0.931s 10 1.00x
💻 Local Next.js (Turbopack) 1.085s 2.006s 0.921s 10 1.01x
🐘 Postgres Express 1.085s (-5.4% 🟢) 2.010s (~) 0.925s 10 1.01x
🐘 Postgres Nitro 1.085s (-4.8%) 2.010s (~) 0.925s 10 1.01x
🐘 Postgres Next.js (Turbopack) 1.115s 2.010s 0.895s 10 1.04x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 1.671s (-10.9% 🟢) 3.395s (-10.8% 🟢) 1.723s 10 1.00x
▲ Vercel Nitro 1.676s (-56.9% 🟢) 3.403s (-42.4% 🟢) 1.727s 10 1.00x
▲ Vercel Next.js (Turbopack) 1.726s (-15.2% 🟢) 3.840s (~) 2.115s 10 1.03x

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

workflow with 10 sequential steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 10.417s (-5.0%) 11.016s (~) 0.599s 3 1.00x
🐘 Postgres Nitro 10.429s (-4.1%) 11.019s (~) 0.589s 3 1.00x
💻 Local Nitro 10.449s (-4.5%) 11.023s (~) 0.574s 3 1.00x
💻 Local Express 10.473s (-4.1%) 11.022s (~) 0.549s 3 1.01x
💻 Local Next.js (Turbopack) 10.526s 11.020s 0.494s 3 1.01x
🐘 Postgres Next.js (Turbopack) 10.734s 11.019s 0.285s 3 1.03x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 13.809s (-18.7% 🟢) 15.219s (-24.0% 🟢) 1.410s 2 1.00x
▲ Vercel Nitro 13.995s (-41.0% 🟢) 15.731s (-37.4% 🟢) 1.736s 2 1.01x
▲ Vercel Next.js (Turbopack) 14.044s (-18.9% 🟢) 16.412s (-15.4% 🟢) 2.368s 2 1.02x

🔍 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.452s (-7.8% 🟢) 14.020s (-6.7% 🟢) 0.567s 5 1.00x
🐘 Postgres Nitro 13.468s (-7.7% 🟢) 14.019s (-6.7% 🟢) 0.551s 5 1.00x
💻 Local Nitro 13.497s (-10.4% 🟢) 14.027s (-12.5% 🟢) 0.530s 5 1.00x
💻 Local Express 13.507s (-9.8% 🟢) 14.026s (-6.7% 🟢) 0.519s 5 1.00x
💻 Local Next.js (Turbopack) 13.759s 14.024s 0.266s 5 1.02x
🐘 Postgres Next.js (Turbopack) 14.169s 15.017s 0.849s 4 1.05x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Next.js (Turbopack) 21.765s (-58.6% 🟢) 23.748s (-56.5% 🟢) 1.982s 3 1.00x
▲ Vercel Nitro 22.636s (-64.9% 🟢) 24.304s (-63.5% 🟢) 1.668s 3 1.04x
▲ Vercel Express 24.049s (-52.2% 🟢) 25.941s (-50.6% 🟢) 1.892s 3 1.10x

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

workflow with 50 sequential steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Nitro 11.971s (-28.7% 🟢) 12.398s (-27.2% 🟢) 0.428s 8 1.00x
🐘 Postgres Express 11.981s (-14.5% 🟢) 12.392s (-15.1% 🟢) 0.411s 8 1.00x
🐘 Postgres Nitro 12.117s (-13.2% 🟢) 12.874s (-10.0% 🟢) 0.757s 7 1.01x
💻 Local Express 12.158s (-26.8% 🟢) 13.025s (-23.5% 🟢) 0.867s 7 1.02x
💻 Local Next.js (Turbopack) 12.432s 13.021s 0.590s 7 1.04x
🐘 Postgres Next.js (Turbopack) 13.203s 14.019s 0.815s 7 1.10x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 31.074s (-74.4% 🟢) 32.709s (-73.5% 🟢) 1.635s 3 1.00x
▲ Vercel Next.js (Turbopack) 31.322s (-92.0% 🟢) 33.708s (-91.5% 🟢) 2.386s 3 1.01x
▲ Vercel Nitro 32.631s (-92.3% 🟢) 34.673s (-91.8% 🟢) 2.042s 3 1.05x

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

Promise.all with 10 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 1.152s (-8.6% 🟢) 2.007s (~) 0.855s 15 1.00x
🐘 Postgres Nitro 1.156s (-9.3% 🟢) 2.008s (~) 0.852s 15 1.00x
💻 Local Nitro 1.177s (-27.8% 🟢) 2.006s (-3.3%) 0.829s 15 1.02x
💻 Local Express 1.198s (-19.5% 🟢) 2.006s (~) 0.808s 15 1.04x
🐘 Postgres Next.js (Turbopack) 1.219s 2.007s 0.788s 15 1.06x
💻 Local Next.js (Turbopack) 1.254s 2.004s 0.751s 15 1.09x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 2.925s (+3.8%) 4.484s (+3.7%) 1.559s 7 1.00x
▲ Vercel Express 3.605s (+26.0% 🔺) 5.210s (+12.7% 🔺) 1.605s 6 1.23x
▲ Vercel Next.js (Turbopack) 8.862s (+160.8% 🔺) 11.148s (+126.0% 🔺) 2.286s 4 3.03x

🔍 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 🥇 Nitro 1.226s (-47.9% 🟢) 2.008s (-33.3% 🟢) 0.782s 15 1.00x
🐘 Postgres Express 1.229s (-47.9% 🟢) 2.007s (-33.3% 🟢) 0.778s 15 1.00x
🐘 Postgres Next.js (Turbopack) 1.355s 2.008s 0.653s 15 1.11x
💻 Local Express 1.640s (-44.5% 🟢) 2.005s (-41.9% 🟢) 0.365s 15 1.34x
💻 Local Next.js (Turbopack) 1.721s 2.075s 0.354s 15 1.40x
💻 Local Nitro 1.917s (-39.0% 🟢) 2.150s (-44.7% 🟢) 0.233s 14 1.56x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 11.066s (+205.7% 🔺) 12.513s (+144.9% 🔺) 1.448s 3 1.00x
▲ Vercel Nitro 14.820s (+265.7% 🔺) 16.523s (+179.1% 🔺) 1.703s 3 1.34x
▲ Vercel Next.js (Turbopack) 15.075s (+112.3% 🔺) 17.375s (+95.1% 🔺) 2.300s 2 1.36x

🔍 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 🥇 Nitro 1.377s (-60.4% 🟢) 2.007s (-49.9% 🟢) 0.630s 15 1.00x
🐘 Postgres Express 1.378s (-60.5% 🟢) 2.007s (-49.9% 🟢) 0.629s 15 1.00x
🐘 Postgres Next.js (Turbopack) 1.649s 2.007s 0.358s 15 1.20x
💻 Local Next.js (Turbopack) 3.415s 4.010s 0.595s 8 2.48x
💻 Local Express 4.111s (-50.7% 🟢) 4.725s (-47.7% 🟢) 0.613s 7 2.99x
💻 Local Nitro 5.310s (-36.4% 🟢) 5.847s (-35.2% 🟢) 0.537s 6 3.86x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Next.js (Turbopack) 18.686s (+109.6% 🔺) 21.301s (+94.3% 🔺) 2.616s 2 1.00x
▲ Vercel Nitro 23.505s (+566.7% 🔺) 25.277s (+356.8% 🔺) 1.772s 2 1.26x
▲ Vercel Express 24.832s (+485.7% 🔺) 26.807s (+337.5% 🔺) 1.974s 2 1.33x

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

Promise.race with 10 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Nitro 1.154s (-8.2% 🟢) 2.009s (~) 0.854s 15 1.00x
🐘 Postgres Express 1.185s (-5.7% 🟢) 2.008s (~) 0.823s 15 1.03x
🐘 Postgres Next.js (Turbopack) 1.207s 2.009s 0.802s 15 1.05x
💻 Local Next.js (Turbopack) 1.270s 2.005s 0.734s 15 1.10x
💻 Local Express 1.302s (-31.2% 🟢) 2.006s (-15.2% 🟢) 0.703s 15 1.13x
💻 Local Nitro 1.409s (-24.5% 🟢) 2.006s (-14.3% 🟢) 0.597s 15 1.22x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Next.js (Turbopack) 7.702s (+162.7% 🔺) 9.227s (+98.8% 🔺) 1.525s 4 1.00x
▲ Vercel Nitro 8.027s (+226.5% 🔺) 9.441s (+126.4% 🔺) 1.413s 4 1.04x
▲ Vercel Express 8.291s (+221.2% 🔺) 9.524s (+119.0% 🔺) 1.233s 4 1.08x

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

Promise.race with 25 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Nitro 1.224s (-47.7% 🟢) 2.009s (-33.3% 🟢) 0.784s 15 1.00x
🐘 Postgres Express 1.233s (-47.3% 🟢) 2.008s (-33.3% 🟢) 0.775s 15 1.01x
🐘 Postgres Next.js (Turbopack) 1.353s 2.008s 0.654s 15 1.11x
💻 Local Express 1.704s (-45.6% 🟢) 2.006s (-46.7% 🟢) 0.302s 15 1.39x
💻 Local Next.js (Turbopack) 1.880s 2.229s 0.349s 14 1.54x
💻 Local Nitro 2.038s (-33.5% 🟢) 2.470s (-36.5% 🟢) 0.431s 13 1.66x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 13.088s (+304.8% 🔺) 14.651s (+188.6% 🔺) 1.563s 3 1.00x
▲ Vercel Express 14.412s (+351.4% 🔺) 15.866s (+231.1% 🔺) 1.454s 2 1.10x
▲ Vercel Next.js (Turbopack) 20.876s (+564.3% 🔺) 22.658s (+401.1% 🔺) 1.782s 2 1.60x

🔍 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 🥇 Nitro 1.373s (-60.6% 🟢) 2.007s (-49.9% 🟢) 0.635s 15 1.00x
🐘 Postgres Express 1.378s (-60.6% 🟢) 2.007s (-50.0% 🟢) 0.629s 15 1.00x
🐘 Postgres Next.js (Turbopack) 1.656s 2.008s 0.353s 15 1.21x
💻 Local Next.js (Turbopack) 4.102s 4.726s 0.624s 7 2.99x
💻 Local Express 4.711s (-46.5% 🟢) 5.178s (-44.2% 🟢) 0.467s 6 3.43x
💻 Local Nitro 5.903s (-35.4% 🟢) 6.216s (-38.0% 🟢) 0.313s 5 4.30x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Next.js (Turbopack) 24.596s (+264.0% 🔺) 27.051s (+216.6% 🔺) 2.456s 2 1.00x
▲ Vercel Nitro 32.312s (+534.4% 🔺) 34.145s (+400.9% 🔺) 1.833s 1 1.31x
▲ Vercel Express 170.137s (+2551.3% 🔺) 171.470s (+1996.6% 🔺) 1.333s 2 6.92x

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

workflow with 10 sequential data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Nitro 0.452s (-45.0% 🟢) 1.007s (~) 0.555s 60 1.00x
🐘 Postgres Express 0.470s (-44.0% 🟢) 1.006s (-1.7%) 0.537s 60 1.04x
💻 Local Express 0.483s (-50.9% 🟢) 1.003s (-6.7% 🟢) 0.520s 60 1.07x
💻 Local Nitro 0.516s (-47.4% 🟢) 1.021s (-6.6% 🟢) 0.505s 59 1.14x
💻 Local Next.js (Turbopack) 0.708s 1.077s 0.369s 56 1.57x
🐘 Postgres Next.js (Turbopack) 0.709s 1.006s 0.297s 60 1.57x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 4.797s (-74.8% 🟢) 6.197s (-70.9% 🟢) 1.400s 10 1.00x
▲ Vercel Next.js (Turbopack) 4.894s (-66.3% 🟢) 6.694s (-58.4% 🟢) 1.800s 9 1.02x
▲ Vercel Nitro 5.013s (-77.3% 🟢) 6.552s (-72.7% 🟢) 1.540s 10 1.04x

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

workflow with 25 sequential data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 1.060s (-46.4% 🟢) 1.643s (-27.2% 🟢) 0.583s 55 1.00x
🐘 Postgres Nitro 1.075s (-44.2% 🟢) 1.738s (-17.3% 🟢) 0.663s 52 1.01x
💻 Local Nitro 1.210s (-60.1% 🟢) 2.006s (-46.6% 🟢) 0.796s 45 1.14x
💻 Local Express 1.213s (-59.8% 🟢) 2.005s (-44.1% 🟢) 0.792s 45 1.14x
💻 Local Next.js (Turbopack) 1.657s 2.148s 0.491s 42 1.56x
🐘 Postgres Next.js (Turbopack) 1.658s 2.007s 0.350s 45 1.56x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 12.445s (-68.5% 🟢) 14.068s (-65.9% 🟢) 1.623s 7 1.00x
▲ Vercel Express 13.280s (-61.5% 🟢) 15.011s (-59.2% 🟢) 1.731s 6 1.07x
▲ Vercel Next.js (Turbopack) 13.924s (-72.0% 🟢) 16.233s (-68.6% 🟢) 2.309s 6 1.12x

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

workflow with 50 sequential data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 2.039s (-48.9% 🟢) 2.477s (-43.3% 🟢) 0.438s 49 1.00x
🐘 Postgres Nitro 2.147s (-47.7% 🟢) 2.719s (-40.9% 🟢) 0.572s 45 1.05x
💻 Local Express 2.675s (-71.0% 🟢) 3.007s (-70.0% 🟢) 0.332s 40 1.31x
💻 Local Nitro 2.725s (-70.7% 🟢) 3.008s (-70.0% 🟢) 0.283s 40 1.34x
🐘 Postgres Next.js (Turbopack) 3.233s 4.008s 0.775s 30 1.59x
💻 Local Next.js (Turbopack) 3.331s 4.041s 0.709s 30 1.63x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 37.648s (-61.2% 🟢) 39.527s (-59.8% 🟢) 1.880s 4 1.00x
▲ Vercel Express 38.822s (-70.1% 🟢) 40.517s (-69.3% 🟢) 1.695s 3 1.03x
▲ Vercel Next.js (Turbopack) 43.663s (-59.3% 🟢) 46.357s (-57.4% 🟢) 2.695s 3 1.16x

🔍 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 🥇 Nitro 0.183s (-35.2% 🟢) 1.006s (~) 0.822s 60 1.00x
🐘 Postgres Express 0.197s (-30.3% 🟢) 1.006s (~) 0.809s 60 1.07x
🐘 Postgres Next.js (Turbopack) 0.235s 1.007s 0.772s 60 1.28x
💻 Local Express 0.413s (-26.4% 🟢) 1.004s (~) 0.591s 60 2.25x
💻 Local Next.js (Turbopack) 0.466s 1.003s 0.538s 60 2.54x
💻 Local Nitro 0.476s (-21.3% 🟢) 1.005s (-1.7%) 0.529s 60 2.59x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Next.js (Turbopack) 5.413s (+167.7% 🔺) 7.594s (+100.2% 🔺) 2.180s 9 1.00x
▲ Vercel Nitro 7.396s (+345.3% 🔺) 8.768s (+161.7% 🔺) 1.372s 7 1.37x
▲ Vercel Express 7.525s (+285.1% 🔺) 9.085s (+149.8% 🔺) 1.560s 7 1.39x

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

workflow with 25 concurrent data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Nitro 0.317s (-36.1% 🟢) 1.006s (~) 0.689s 90 1.00x
🐘 Postgres Express 0.322s (-36.8% 🟢) 1.006s (~) 0.684s 90 1.02x
🐘 Postgres Next.js (Turbopack) 0.445s 1.006s 0.561s 90 1.40x
💻 Local Next.js (Turbopack) 1.978s 2.508s 0.531s 36 6.23x
💻 Local Nitro 2.238s (-11.8% 🟢) 2.976s (-1.1%) 0.738s 31 7.06x
💻 Local Express 2.251s (-10.4% 🟢) 2.975s (-1.1%) 0.724s 31 7.09x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 8.752s (+187.3% 🔺) 10.444s (+117.2% 🔺) 1.692s 9 1.00x
▲ Vercel Nitro 10.459s (+224.2% 🔺) 12.147s (+151.9% 🔺) 1.688s 8 1.20x
▲ Vercel Next.js (Turbopack) 16.209s (+358.5% 🔺) 18.183s (+250.1% 🔺) 1.973s 5 1.85x

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

workflow with 50 concurrent data payload steps (10KB)

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Nitro 0.655s (-17.2% 🟢) 1.006s (~) 0.351s 120 1.00x
🐘 Postgres Express 0.655s (-19.9% 🟢) 1.006s (-1.1%) 0.351s 120 1.00x
🐘 Postgres Next.js (Turbopack) 0.931s 1.283s 0.352s 94 1.42x
💻 Local Next.js (Turbopack) 8.789s 9.333s 0.544s 13 13.43x
💻 Local Express 9.660s (-13.7% 🟢) 10.193s (-14.6% 🟢) 0.533s 12 14.76x
💻 Local Nitro 10.410s (-7.0% 🟢) 11.029s (-5.4% 🟢) 0.620s 11 15.90x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 32.381s (+336.4% 🔺) 34.387s (+272.0% 🔺) 2.006s 4 1.00x
▲ Vercel Nitro 33.423s (+332.8% 🔺) 34.917s (+271.4% 🔺) 1.493s 4 1.03x
▲ Vercel Next.js (Turbopack) 35.267s (+241.5% 🔺) 37.407s (+204.5% 🔺) 2.140s 4 1.09x

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

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.122s (+463.7% 🔺) 2.005s (+99.6% 🔺) 0.010s (-16.5% 🟢) 2.017s (+98.2% 🔺) 0.895s 10 1.00x
🐘 Postgres Nitro 1.129s (+450.8% 🔺) 1.998s (+99.8% 🔺) 0.001s (-13.3% 🟢) 2.009s (+98.7% 🔺) 0.880s 10 1.01x
💻 Local Nitro 1.134s (+430.8% 🔺) 2.005s (+99.6% 🔺) 0.012s (-2.4%) 2.020s (+98.2% 🔺) 0.885s 10 1.01x
💻 Local Next.js (Turbopack) 1.139s 2.003s 0.008s 2.015s 0.876s 10 1.01x
🐘 Postgres Express 1.147s (+459.5% 🔺) 1.996s (+99.8% 🔺) 0.001s (-37.5% 🟢) 2.011s (+98.8% 🔺) 0.863s 10 1.02x
🐘 Postgres Next.js (Turbopack) 1.214s 2.002s 0.001s 2.011s 0.796s 10 1.08x

▲ Production (Vercel)

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Next.js (Turbopack) 2.357s (-65.6% 🟢) 3.536s (-59.1% 🟢) 2.070s (+227.6% 🔺) 6.110s (-37.6% 🟢) 3.753s 10 1.00x
▲ Vercel Nitro 2.639s (-31.1% 🟢) 3.775s (-28.5% 🟢) 2.230s (+200.6% 🔺) 6.453s (~) 3.814s 10 1.12x
▲ Vercel Express 3.195s (+27.5% 🔺) 3.494s (-14.6% 🟢) 2.273s (+136.6% 🔺) 6.650s (+18.9% 🔺) 3.455s 10 1.36x

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

stream pipeline with 5 transform steps (1MB)

💻 Local Development

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Nitro 1.511s (+142.0% 🔺) 2.003s (+99.0% 🔺) 0.004s (-6.5% 🟢) 2.024s (+98.0% 🔺) 0.514s 30 1.00x
💻 Local Express 1.525s (+101.4% 🔺) 2.012s (+95.6% 🔺) 0.011s (+11.9% 🔺) 2.025s (+94.7% 🔺) 0.500s 30 1.01x
🐘 Postgres Express 1.533s (+143.3% 🔺) 2.006s (+99.3% 🔺) 0.004s (~) 2.027s (+98.1% 🔺) 0.494s 30 1.01x
🐘 Postgres Next.js (Turbopack) 1.684s 2.010s 0.004s 2.026s 0.342s 30 1.12x
💻 Local Nitro 1.721s (+105.1% 🔺) 2.011s (+98.7% 🔺) 0.010s (+8.2% 🔺) 2.202s (+97.3% 🔺) 0.481s 28 1.14x
💻 Local Next.js (Turbopack) 1.730s 2.007s 0.008s 2.197s 0.467s 28 1.15x

▲ Production (Vercel)

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 6.830s (-76.8% 🟢) 7.982s (-74.1% 🟢) 0.240s (+114.5% 🔺) 8.643s (-72.8% 🟢) 1.813s 7 1.00x
▲ Vercel Express 7.918s (+21.7% 🔺) 9.075s (+13.3% 🔺) 0.191s (-53.3% 🟢) 9.655s (+9.3% 🔺) 1.737s 7 1.16x
▲ Vercel Next.js (Turbopack) 10.370s (-38.7% 🟢) 12.271s (-32.7% 🟢) 0.308s (+46.0% 🔺) 13.028s (-31.2% 🟢) 2.658s 5 1.52x

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

10 parallel streams (1MB each)

💻 Local Development

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
🐘 Postgres 🥇 Express 0.670s (-30.3% 🟢) 1.051s (-17.8% 🟢) 0.000s (-19.3% 🟢) 1.061s (-18.8% 🟢) 0.391s 57 1.00x
🐘 Postgres Nitro 0.675s (-30.3% 🟢) 1.029s (-17.5% 🟢) 0.000s (+106.9% 🔺) 1.042s (-17.2% 🟢) 0.367s 58 1.01x
🐘 Postgres Next.js (Turbopack) 0.789s 1.072s 0.000s 1.079s 0.290s 56 1.18x
💻 Local Next.js (Turbopack) 1.216s 1.947s 0.000s 1.950s 0.734s 31 1.82x
💻 Local Express 1.350s (+10.2% 🔺) 2.014s (~) 0.000s (-70.0% 🟢) 2.016s (~) 0.666s 30 2.02x
💻 Local Nitro 1.377s (+12.6% 🔺) 2.015s (~) 0.000s (+166.7% 🔺) 2.017s (~) 0.640s 30 2.06x

▲ Production (Vercel)

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 4.197s (+37.6% 🔺) 5.144s (+17.1% 🔺) 0.000s (+18.2% 🔺) 5.584s (+16.1% 🔺) 1.387s 11 1.00x
▲ Vercel Next.js (Turbopack) 5.490s (-46.1% 🟢) 7.054s (-38.8% 🟢) 0.002s (+Infinity% 🔺) 7.503s (-37.7% 🟢) 2.013s 8 1.31x
▲ Vercel Express 6.866s (+83.6% 🔺) 7.869s (+54.2% 🔺) 0.000s (-31.3% 🟢) 8.281s (+49.7% 🔺) 1.415s 8 1.64x

🔍 Observability: Nitro | Next.js (Turbopack) | 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.321s (-25.5% 🟢) 2.069s (-5.0%) 0.000s (NaN%) 2.089s (-5.0%) 0.769s 29 1.00x
🐘 Postgres Nitro 1.377s (-23.1% 🟢) 2.067s (-3.5%) 0.000s (+189.7% 🔺) 2.079s (-4.4%) 0.702s 29 1.04x
🐘 Postgres Next.js (Turbopack) 1.627s 2.225s 0.000s 2.232s 0.605s 27 1.23x
💻 Local Next.js (Turbopack) 2.605s 3.122s 0.001s 3.128s 0.523s 20 1.97x
💻 Local Express 3.141s (-9.4% 🟢) 3.966s (-1.7%) 0.000s (-92.2% 🟢) 3.967s (-1.7%) 0.826s 16 2.38x
💻 Local Nitro 3.159s (-6.7% 🟢) 3.967s (-1.6%) 0.001s (+17.2% 🔺) 3.970s (-1.7%) 0.810s 16 2.39x

▲ Production (Vercel)

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Next.js (Turbopack) 9.450s (+68.3% 🔺) 11.008s (+57.7% 🔺) 0.000s (+33.3% 🔺) 11.524s (+52.8% 🔺) 2.074s 6 1.00x
▲ Vercel Express 9.452s (+106.0% 🔺) 10.656s (+77.0% 🔺) 0.000s (NaN%) 11.056s (+71.2% 🔺) 1.604s 6 1.00x
▲ Vercel Nitro 10.685s (+161.0% 🔺) 11.845s (+120.4% 🔺) 0.002s (+694.4% 🔺) 12.277s (+111.9% 🔺) 1.592s 6 1.13x

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

Summary

Fastest Framework by World

Winner determined by most benchmark wins

World 🥇 Fastest Framework Wins
💻 Local Express 8/21
🐘 Postgres Nitro 12/21
▲ Vercel Nitro 7/21
Fastest World by Framework

Winner determined by most benchmark wins

Framework 🥇 Fastest World Wins
Express 🐘 Postgres 17/21
Next.js (Turbopack) 🐘 Postgres 13/21
Nitro 🐘 Postgres 18/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

@ijjk ijjk enabled auto-merge (squash) May 9, 2026 19:50
@ijjk ijjk merged commit 09a0c1d into main May 9, 2026
333 of 349 checks passed
@ijjk ijjk deleted the ijjk/remove-instrumentation branch May 9, 2026 20:19
github-actions Bot added a commit that referenced this pull request May 9, 2026
* Remove instrumentation from workbench

* bump

Signed-off-by: JJ Kasper <jj@jjsweb.site>
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 9, 2026

Backport PR opened against stable: #1963. Merge conflicts were resolved by AI — please review carefully.

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.

3 participants