Skip to content

Conversation

@pranaygp
Copy link
Collaborator

@pranaygp pranaygp commented Dec 5, 2025

No description provided.

@changeset-bot
Copy link

changeset-bot bot commented Dec 5, 2025

🦋 Changeset detected

Latest commit: 30e3e2c

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 12 packages
Name Type
@workflow/core Patch
@workflow/builders Patch
@workflow/cli Patch
@workflow/next Patch
@workflow/nitro Patch
@workflow/web-shared Patch
workflow Patch
@workflow/astro Patch
@workflow/sveltekit Patch
@workflow/world-testing Patch
@workflow/nuxt Patch
@workflow/ai Patch

Not sure what this means? Click here to learn what changesets are.

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

@vercel
Copy link
Contributor

vercel bot commented Dec 5, 2025

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

Project Deployment Preview Comments Updated (UTC)
example-nextjs-workflow-turbopack Ready Ready Preview Comment Dec 7, 2025 3:30am
example-nextjs-workflow-webpack Ready Ready Preview Comment Dec 7, 2025 3:30am
example-workflow Ready Ready Preview Comment Dec 7, 2025 3:30am
workbench-astro-workflow Ready Ready Preview Comment Dec 7, 2025 3:30am
workbench-express-workflow Ready Ready Preview Comment Dec 7, 2025 3:30am
workbench-fastify-workflow Ready Ready Preview Comment Dec 7, 2025 3:30am
workbench-hono-workflow Ready Ready Preview Comment Dec 7, 2025 3:30am
workbench-nitro-workflow Ready Ready Preview Comment Dec 7, 2025 3:30am
workbench-nuxt-workflow Ready Ready Preview Comment Dec 7, 2025 3:30am
workbench-sveltekit-workflow Ready Ready Preview Comment Dec 7, 2025 3:30am
workbench-vite-workflow Ready Ready Preview Comment Dec 7, 2025 3:30am
workflow-docs Ready Ready Preview Comment Dec 7, 2025 3:30am

@github-actions
Copy link
Contributor

github-actions bot commented Dec 5, 2025

🧪 E2E Test Results

Some tests failed

Summary

Passed Failed Skipped Total
✅ ▲ Vercel Production 275 0 11 286
✅ 💻 Local Development 252 0 8 260
✅ 📦 Local Production 252 0 8 260
✅ 🐘 Local Postgres 252 0 8 260
✅ 🪟 Windows 26 0 0 26
❌ 🌍 Community Worlds 105 11 0 116
Total 1162 11 35 1208

❌ Failed Tests

🌍 Community Worlds (11 failed)

mongodb (1 failed):

  • webhookWorkflow

redis (1 failed):

  • webhookWorkflow

starter (8 failed):

  • addTenWorkflow
  • addTenWorkflow
  • retryAttemptCounterWorkflow
  • crossFileErrorWorkflow - stack traces work across imported modules
  • hookCleanupTestWorkflow - hook token reuse after workflow completion
  • stepFunctionPassingWorkflow - step function references can be passed as arguments (without closure vars)
  • stepFunctionWithClosureWorkflow - step function with closure variables passed as argument
  • spawnWorkflowFromStepWorkflow - spawning a child workflow using start() inside a step

turso (1 failed):

  • webhookWorkflow

Details by Category

✅ ▲ Vercel Production
App Passed Failed Skipped
✅ astro 25 0 1
✅ example 25 0 1
✅ express 25 0 1
✅ fastify 25 0 1
✅ hono 25 0 1
✅ nextjs-turbopack 25 0 1
✅ nextjs-webpack 25 0 1
✅ nitro 25 0 1
✅ nuxt 25 0 1
✅ sveltekit 25 0 1
✅ vite 25 0 1
✅ 💻 Local Development
App Passed Failed Skipped
✅ astro 25 0 1
✅ express 25 0 1
✅ fastify 25 0 1
✅ hono 25 0 1
✅ nextjs-turbopack 26 0 0
✅ nextjs-webpack 26 0 0
✅ nitro 25 0 1
✅ nuxt 25 0 1
✅ sveltekit 25 0 1
✅ vite 25 0 1
✅ 📦 Local Production
App Passed Failed Skipped
✅ astro 25 0 1
✅ express 25 0 1
✅ fastify 25 0 1
✅ hono 25 0 1
✅ nextjs-turbopack 26 0 0
✅ nextjs-webpack 26 0 0
✅ nitro 25 0 1
✅ nuxt 25 0 1
✅ sveltekit 25 0 1
✅ vite 25 0 1
✅ 🐘 Local Postgres
App Passed Failed Skipped
✅ astro 25 0 1
✅ express 25 0 1
✅ fastify 25 0 1
✅ hono 25 0 1
✅ nextjs-turbopack 26 0 0
✅ nextjs-webpack 26 0 0
✅ nitro 25 0 1
✅ nuxt 25 0 1
✅ sveltekit 25 0 1
✅ vite 25 0 1
✅ 🪟 Windows
App Passed Failed Skipped
✅ nextjs-turbopack 26 0 0
❌ 🌍 Community Worlds
App Passed Failed Skipped
✅ mongodb-dev 3 0 0
❌ mongodb 25 1 0
✅ redis-dev 3 0 0
❌ redis 25 1 0
✅ starter-dev 3 0 0
❌ starter 18 8 0
✅ turso-dev 3 0 0
❌ turso 25 1 0

📋 View full workflow run

Copy link
Collaborator Author

pranaygp commented Dec 5, 2025

@pranaygp pranaygp force-pushed the pranaygp/12-04-perf_use_map_for_invocationsqueue_o_1_lookup_delete_ branch 2 times, most recently from 61edd56 to bdefce0 Compare December 5, 2025 22:20
@pranaygp pranaygp force-pushed the pranaygp/12-04-perf_parallelize_suspension_handler_for_high-concurrency branch from c4a92e0 to 4d36770 Compare December 5, 2025 22:20
Base automatically changed from pranaygp/12-04-perf_use_map_for_invocationsqueue_o_1_lookup_delete_ to main December 7, 2025 02:29
@pranaygp pranaygp force-pushed the pranaygp/12-04-perf_parallelize_suspension_handler_for_high-concurrency branch from a452984 to 4210576 Compare December 7, 2025 03:13
@github-actions
Copy link
Contributor

github-actions bot commented Dec 7, 2025

📊 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 🥇 Next.js (Turbopack) 0.034s (+4.6%) 1.016s (~) 0.982s 10 1.00x
🌐 Starter Next.js (Turbopack) 0.039s (-0.5%) 1.013s (~) 0.974s 10 1.15x
🌐 Redis Next.js (Turbopack) 0.041s (~) 1.017s (~) 0.977s 10 1.19x
💻 Local Express 0.043s (+0.7%) 1.008s (~) 0.965s 10 1.26x
💻 Local Nitro 0.043s (-1.1%) 1.006s (-1.0%) 0.963s 10 1.27x
🌐 MongoDB Next.js (Turbopack) 0.063s (-43.6% 🟢) 1.015s (~) 0.952s 10 1.86x
🌐 Turso Next.js (Turbopack) 0.097s (+102.3% 🔺) 1.014s (~) 0.916s 10 2.86x
🐘 Postgres Next.js (Turbopack) 0.154s (-13.1% 🟢) 1.022s (~) 0.868s 10 4.54x
🐘 Postgres Express 0.234s (-33.5% 🟢) 1.033s (+2.0%) 0.799s 10 6.89x
🐘 Postgres Nitro 0.311s (-21.2% 🟢) 1.013s (-3.8%) 0.702s 10 9.14x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 0.507s (-9.6% 🟢) 1.429s (-4.6%) 0.922s 10 1.00x
▲ Vercel Next.js (Turbopack) ⚠️ missing - - - -
▲ Vercel Nitro ⚠️ missing - - - -

🔍 Observability: Express

workflow with 1 step

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Next.js (Turbopack) 1.075s (-0.6%) 2.011s (~) 0.936s 10 1.00x
🌐 Starter Next.js (Turbopack) 1.088s (-0.7%) 2.009s (~) 0.921s 10 1.01x
🌐 Redis Next.js (Turbopack) 1.101s (~) 2.012s (~) 0.911s 10 1.02x
💻 Local Nitro 1.110s (~) 2.006s (~) 0.896s 10 1.03x
💻 Local Express 1.112s (~) 2.007s (~) 0.894s 10 1.03x
🌐 MongoDB Next.js (Turbopack) 1.301s (~) 2.018s (~) 0.717s 10 1.21x
🌐 Turso Next.js (Turbopack) 1.319s (+3.4%) 2.011s (~) 0.692s 10 1.23x
🐘 Postgres Next.js (Turbopack) 1.919s (~) 2.015s (-4.7%) 0.096s 10 1.78x
🐘 Postgres Nitro 2.168s (-4.1%) 3.013s (~) 0.845s 10 2.02x
🐘 Postgres Express 2.429s (+9.8% 🔺) 3.016s (~) 0.587s 10 2.26x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 2.497s (~) 3.525s (+2.8%) 1.028s 10 1.00x
▲ Vercel Next.js (Turbopack) ⚠️ missing - - - -
▲ Vercel Nitro ⚠️ missing - - - -

🔍 Observability: Express

workflow with 10 sequential steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Next.js (Turbopack) 10.520s (~) 11.015s (~) 0.495s 5 1.00x
🌐 Starter Next.js (Turbopack) 10.572s (~) 11.011s (~) 0.439s 5 1.00x
🌐 Redis Next.js (Turbopack) 10.676s (~) 11.017s (~) 0.340s 5 1.01x
💻 Local Nitro 10.786s (~) 11.011s (~) 0.225s 5 1.03x
💻 Local Express 10.787s (~) 11.013s (~) 0.226s 5 1.03x
🌐 Turso Next.js (Turbopack) 12.197s (~) 13.021s (~) 0.824s 5 1.16x
🌐 MongoDB Next.js (Turbopack) 12.272s (+2.2%) 13.032s (+4.9%) 0.759s 5 1.17x
🐘 Postgres Next.js (Turbopack) 15.285s (+0.6%) 16.027s (~) 0.743s 5 1.45x
🐘 Postgres Express 20.309s (~) 21.037s (~) 0.728s 5 1.93x
🐘 Postgres Nitro 20.422s (+1.1%) 21.034s (~) 0.612s 5 1.94x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 21.998s (+4.8%) 22.602s (+3.4%) 0.604s 5 1.00x
▲ Vercel Next.js (Turbopack) ⚠️ missing - - - -
▲ Vercel Nitro ⚠️ missing - - - -

🔍 Observability: Express

workflow with 10 parallel steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Next.js (Turbopack) 1.346s (+1.4%) 2.015s (~) 0.669s 5 1.00x
🌐 Starter Next.js (Turbopack) 1.352s (-3.4%) 2.008s (~) 0.656s 5 1.00x
🌐 Redis Next.js (Turbopack) 1.360s (+1.0%) 2.010s (~) 0.650s 5 1.01x
💻 Local Nitro 1.403s (~) 2.005s (~) 0.602s 5 1.04x
💻 Local Express 1.414s (+1.3%) 2.006s (~) 0.592s 5 1.05x
🐘 Postgres Next.js (Turbopack) 1.872s (+13.3% 🔺) 2.014s (-9.0% 🟢) 0.142s 5 1.39x
🌐 MongoDB Next.js (Turbopack) 2.130s (~) 3.015s (~) 0.885s 5 1.58x
🌐 Turso Next.js (Turbopack) 2.232s (+5.3% 🔺) 3.013s (~) 0.781s 5 1.66x
🐘 Postgres Express 2.390s (-9.3% 🟢) 3.012s (~) 0.622s 5 1.78x
🐘 Postgres Nitro 2.587s (-3.6%) 3.012s (~) 0.425s 5 1.92x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 2.713s (-31.3% 🟢) 3.506s (-25.1% 🟢) 0.792s 5 1.00x
▲ Vercel Next.js (Turbopack) ⚠️ missing - - - -
▲ Vercel Nitro ⚠️ missing - - - -

🔍 Observability: Express

stress test: Promise.all with 100 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🌐 Starter 🥇 Next.js (Turbopack) 6.475s (-3.0%) 6.797s (-3.7%) 0.322s 5 1.00x
🐘 Postgres Nitro 8.104s (-5.6% 🟢) 8.702s (-2.6%) 0.598s 4 1.25x
🌐 Redis Next.js (Turbopack) 8.496s (+6.8% 🔺) 8.606s (+1.8%) 0.110s 4 1.31x
🐘 Postgres Next.js (Turbopack) 8.500s (-2.7%) 9.116s (+3.0%) 0.616s 4 1.31x
🐘 Postgres Express 8.836s (+2.8%) 9.126s (+1.7%) 0.289s 4 1.36x
💻 Local Next.js (Turbopack) 12.577s (-4.5%) 13.143s (-1.1%) 0.566s 3 1.94x
💻 Local Express 17.709s (+35.4% 🔺) 18.550s (+39.3% 🔺) 0.841s 2 2.73x
💻 Local Nitro 17.945s (+24.0% 🔺) 18.888s (+28.8% 🔺) 0.944s 2 2.77x
🌐 MongoDB Next.js (Turbopack) 19.924s (-0.8%) 20.528s (~) 0.604s 2 3.08x
🌐 Turso Next.js (Turbopack) 20.209s (~) 20.532s (~) 0.323s 2 3.12x

▲ Production (Vercel)

No data available

stress test: Promise.race with 100 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🌐 Starter 🥇 Next.js (Turbopack) 6.634s (-2.5%) 6.929s (-1.4%) 0.295s 5 1.00x
🐘 Postgres Nitro 8.238s (-16.5% 🟢) 8.767s (-13.5% 🟢) 0.529s 4 1.24x
🌐 Redis Next.js (Turbopack) 8.806s (+5.4% 🔺) 8.884s (-0.7%) 0.077s 4 1.33x
🐘 Postgres Express 8.993s (-4.6%) 9.401s (-4.6%) 0.409s 4 1.36x
🐘 Postgres Next.js (Turbopack) 9.861s (+5.1% 🔺) 10.197s (+5.0%) 0.336s 4 1.49x
💻 Local Next.js (Turbopack) 15.243s (+7.2% 🔺) 16.190s (+11.5% 🔺) 0.947s 2 2.30x
💻 Local Express 17.279s (+22.3% 🔺) 17.876s (+24.1% 🔺) 0.596s 2 2.60x
💻 Local Nitro 17.381s (+3.1%) 18.356s (+7.3% 🔺) 0.975s 2 2.62x
🌐 Turso Next.js (Turbopack) 19.977s (-1.3%) 20.531s (~) 0.555s 2 3.01x
🌐 MongoDB Next.js (Turbopack) 20.119s (~) 20.527s (~) 0.408s 2 3.03x

▲ Production (Vercel)

No data available

Stream Benchmarks (includes TTFB metrics)
workflow with stream

💻 Local Development

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Next.js (Turbopack) 0.103s (-1.1%) 1.002s (~) 0.014s (-23.5% 🟢) 1.024s (-0.6%) 0.920s 10 1.00x
🌐 Starter Next.js (Turbopack) 0.126s (-9.1% 🟢) 1.005s (~) 0.000s (-50.0% 🟢) 1.010s (~) 0.884s 10 1.21x
🌐 Redis Next.js (Turbopack) 0.141s (~) 1.004s (~) 0.000s (+Infinity% 🔺) 1.013s (~) 0.871s 10 1.36x
💻 Local Nitro 0.173s (-2.0%) 0.992s (~) 0.014s (+1.4%) 1.020s (~) 0.847s 10 1.67x
💻 Local Express 0.173s (-0.7%) 0.992s (~) 0.014s (+0.7%) 1.021s (~) 0.847s 10 1.68x
🌐 Turso Next.js (Turbopack) 0.456s (+1.2%) 0.991s (-0.5%) 0.000s (-50.0% 🟢) 1.011s (~) 0.555s 10 4.41x
🌐 MongoDB Next.js (Turbopack) 0.512s (+11.3% 🔺) 0.937s (-4.8%) 0.000s (NaN%) 1.013s (~) 0.501s 10 4.95x
🐘 Postgres Nitro 1.005s (-35.8% 🟢) 1.162s (-35.5% 🟢) 0.000s (-100.0% 🟢) 1.411s (-33.2% 🟢) 0.406s 10 9.72x
🐘 Postgres Next.js (Turbopack) 1.125s (+13.9% 🔺) 1.701s (-0.8%) 0.000s (+200.0% 🔺) 1.817s (~) 0.691s 10 10.88x
🐘 Postgres Express 2.276s (-1.0%) 2.763s (+0.7%) 0.000s (-100.0% 🟢) 3.014s (~) 0.738s 10 22.01x

▲ Production (Vercel)

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 2.418s (-14.2% 🟢) 2.804s (-9.4% 🟢) 0.524s (-34.8% 🟢) 3.738s (-14.2% 🟢) 1.320s 10 1.00x
▲ Vercel Next.js (Turbopack) ⚠️ missing - - - - -
▲ Vercel Nitro ⚠️ missing - - - - -

🔍 Observability: Express

Summary

Fastest Framework by World

Winner determined by most benchmark wins

World 🥇 Fastest Framework Wins
💻 Local Next.js (Turbopack) 7/7
🐘 Postgres Next.js (Turbopack) 4/7
▲ Vercel Express 5/5
Fastest World by Framework

Winner determined by most benchmark wins

Framework 🥇 Fastest World Wins
Express 💻 Local 5/7
Next.js (Turbopack) 💻 Local 5/7
Nitro 💻 Local 5/7
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
  • 🌐 Starter: Community world (local development)
  • 🌐 Turso: Community world (local development)
  • 🌐 MongoDB: Community world (local development)
  • 🌐 Redis: Community world (local development)
  • 🌐 Jazz: Community world (local development)

📋 View full workflow run


Some benchmark jobs failed:

  • Local: success
  • Postgres: success
  • Vercel: failure

Check the workflow run for details.

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