Skip to content

Revert extra stdlib re-export#683

Merged
ijjk merged 1 commit into
mainfrom
ijjk/revert-stdlib-builtin
Dec 23, 2025
Merged

Revert extra stdlib re-export#683
ijjk merged 1 commit into
mainfrom
ijjk/revert-stdlib-builtin

Conversation

@ijjk
Copy link
Copy Markdown
Member

@ijjk ijjk commented Dec 23, 2025

This isn't needed as users are meant to explicitly import these so discovery should work fine through normal import flow.

x-ref: https://github.com/vercel/workflow/pull/640/files#r2642474364

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Dec 23, 2025

🦋 Changeset detected

Latest commit: 50d1f70

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

This PR includes changesets to release 3 packages
Name Type
workflow Patch
@workflow/ai Patch
@workflow/world-testing 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
Copy Markdown
Contributor

vercel Bot commented Dec 23, 2025

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

Project Deployment Review Updated (UTC)
example-nextjs-workflow-turbopack Ready Ready Preview, Comment Dec 23, 2025 5:50pm
example-nextjs-workflow-webpack Ready Ready Preview, Comment Dec 23, 2025 5:50pm
example-workflow Ready Ready Preview, Comment Dec 23, 2025 5:50pm
workbench-astro-workflow Ready Ready Preview, Comment Dec 23, 2025 5:50pm
workbench-express-workflow Ready Ready Preview, Comment Dec 23, 2025 5:50pm
workbench-fastify-workflow Ready Ready Preview, Comment Dec 23, 2025 5:50pm
workbench-hono-workflow Ready Ready Preview, Comment Dec 23, 2025 5:50pm
workbench-nitro-workflow Ready Ready Preview, Comment Dec 23, 2025 5:50pm
workbench-nuxt-workflow Ready Ready Preview, Comment Dec 23, 2025 5:50pm
workbench-sveltekit-workflow Ready Ready Preview, Comment Dec 23, 2025 5:50pm
workbench-vite-workflow Ready Ready Preview, Comment Dec 23, 2025 5:50pm
workflow-docs Ready Ready Preview, Comment Dec 23, 2025 5:50pm

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Dec 23, 2025

🧪 E2E Test Results

Some tests failed

Summary

Passed Failed Skipped Total
✅ ▲ Vercel Production 286 0 11 297
✅ 💻 Local Development 262 0 8 270
✅ 📦 Local Production 262 0 8 270
✅ 🐘 Local Postgres 262 0 8 270
❌ 🪟 Windows 0 27 0 27
❌ 🌍 Community Worlds 51 69 0 120
Total 1123 96 35 1254

❌ Failed Tests

🪟 Windows (27 failed)

nextjs-turbopack (27 failed):

  • addTenWorkflow
  • addTenWorkflow
  • should work with react rendering in step
  • promiseAllWorkflow
  • promiseRaceWorkflow
  • promiseAnyWorkflow
  • readableStreamWorkflow
  • hookWorkflow
  • webhookWorkflow
  • webhook route with invalid token
  • sleepingWorkflow
  • nullByteWorkflow
  • workflowAndStepMetadataWorkflow
  • outputStreamWorkflow
  • outputStreamInsideStepWorkflow - getWritable() called inside step functions
  • fetchWorkflow
  • promiseRaceStressTestWorkflow
  • retryAttemptCounterWorkflow
  • retryableAndFatalErrorWorkflow
  • stepDirectCallWorkflow - calling step functions directly outside workflow context
  • 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
  • closureVariableWorkflow - nested step functions with closure variables
  • spawnWorkflowFromStepWorkflow - spawning a child workflow using start() inside a step
  • health check endpoint - workflow and step endpoints respond to __health query parameter
🌍 Community Worlds (69 failed)

mongodb-dev (3 failed):

  • dev e2e should rebuild on step change
  • dev e2e should rebuild on workflow change
  • dev e2e should rebuild on adding workflow file

mongodb (27 failed):

  • addTenWorkflow
  • addTenWorkflow
  • should work with react rendering in step
  • promiseAllWorkflow
  • promiseRaceWorkflow
  • promiseAnyWorkflow
  • readableStreamWorkflow
  • hookWorkflow
  • webhookWorkflow
  • webhook route with invalid token
  • sleepingWorkflow
  • nullByteWorkflow
  • workflowAndStepMetadataWorkflow
  • outputStreamWorkflow
  • outputStreamInsideStepWorkflow - getWritable() called inside step functions
  • fetchWorkflow
  • promiseRaceStressTestWorkflow
  • retryAttemptCounterWorkflow
  • retryableAndFatalErrorWorkflow
  • stepDirectCallWorkflow - calling step functions directly outside workflow context
  • 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
  • closureVariableWorkflow - nested step functions with closure variables
  • spawnWorkflowFromStepWorkflow - spawning a child workflow using start() inside a step
  • health check endpoint - workflow and step endpoints respond to __health query parameter

redis-dev (3 failed):

  • dev e2e should rebuild on step change
  • dev e2e should rebuild on workflow change
  • dev e2e should rebuild on adding workflow file

redis (27 failed):

  • addTenWorkflow
  • addTenWorkflow
  • should work with react rendering in step
  • promiseAllWorkflow
  • promiseRaceWorkflow
  • promiseAnyWorkflow
  • readableStreamWorkflow
  • hookWorkflow
  • webhookWorkflow
  • webhook route with invalid token
  • sleepingWorkflow
  • nullByteWorkflow
  • workflowAndStepMetadataWorkflow
  • outputStreamWorkflow
  • outputStreamInsideStepWorkflow - getWritable() called inside step functions
  • fetchWorkflow
  • promiseRaceStressTestWorkflow
  • retryAttemptCounterWorkflow
  • retryableAndFatalErrorWorkflow
  • stepDirectCallWorkflow - calling step functions directly outside workflow context
  • 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
  • closureVariableWorkflow - nested step functions with closure variables
  • spawnWorkflowFromStepWorkflow - spawning a child workflow using start() inside a step
  • health check endpoint - workflow and step endpoints respond to __health query parameter

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 26 0 1
✅ example 26 0 1
✅ express 26 0 1
✅ fastify 26 0 1
✅ hono 26 0 1
✅ nextjs-turbopack 26 0 1
✅ nextjs-webpack 26 0 1
✅ nitro 26 0 1
✅ nuxt 26 0 1
✅ sveltekit 26 0 1
✅ vite 26 0 1
✅ 💻 Local Development
App Passed Failed Skipped
✅ astro-stable 26 0 1
✅ express-stable 26 0 1
✅ fastify-stable 26 0 1
✅ hono-stable 26 0 1
✅ nextjs-turbopack-stable 27 0 0
✅ nextjs-webpack-stable 27 0 0
✅ nitro-stable 26 0 1
✅ nuxt-stable 26 0 1
✅ sveltekit-stable 26 0 1
✅ vite-stable 26 0 1
✅ 📦 Local Production
App Passed Failed Skipped
✅ astro-stable 26 0 1
✅ express-stable 26 0 1
✅ fastify-stable 26 0 1
✅ hono-stable 26 0 1
✅ nextjs-turbopack-stable 27 0 0
✅ nextjs-webpack-stable 27 0 0
✅ nitro-stable 26 0 1
✅ nuxt-stable 26 0 1
✅ sveltekit-stable 26 0 1
✅ vite-stable 26 0 1
✅ 🐘 Local Postgres
App Passed Failed Skipped
✅ astro-stable 26 0 1
✅ express-stable 26 0 1
✅ fastify-stable 26 0 1
✅ hono-stable 26 0 1
✅ nextjs-turbopack-stable 27 0 0
✅ nextjs-webpack-stable 27 0 0
✅ nitro-stable 26 0 1
✅ nuxt-stable 26 0 1
✅ sveltekit-stable 26 0 1
✅ vite-stable 26 0 1
❌ 🪟 Windows
App Passed Failed Skipped
❌ nextjs-turbopack 0 27 0
❌ 🌍 Community Worlds
App Passed Failed Skipped
❌ mongodb-dev 0 3 0
❌ mongodb 0 27 0
❌ redis-dev 0 3 0
❌ redis 0 27 0
✅ starter-dev 3 0 0
❌ starter 19 8 0
✅ turso-dev 3 0 0
❌ turso 26 1 0

📋 View full workflow run

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Dec 23, 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
🌐 Starter 🥇 Next.js (Turbopack) 0.034s (-17.0% 🟢) 1.014s (~) 0.981s 10 1.00x
💻 Local Next.js (Turbopack) 0.038s (-5.0%) 1.015s (~) 0.976s 10 1.14x
🌐 Redis Next.js (Turbopack) 0.042s (-0.7%) 1.018s (~) 0.976s 10 1.24x
💻 Local Express 0.044s (+4.2%) 1.007s (~) 0.963s 10 1.31x
💻 Local Nitro 0.045s (+0.9%) 1.006s (~) 0.961s 10 1.33x
🌐 Turso Next.js (Turbopack) 0.104s (-3.1%) 1.014s (~) 0.910s 10 3.08x
🌐 MongoDB Next.js (Turbopack) 0.117s (+97.0% 🔺) 1.015s (~) 0.897s 10 3.47x
🐘 Postgres Nitro 0.186s (-37.6% 🟢) 1.035s (+2.1%) 0.849s 10 5.51x
🐘 Postgres Next.js (Turbopack) 0.334s (+36.3% 🔺) 1.020s (~) 0.687s 10 9.87x
🐘 Postgres Express 0.471s (+24.3% 🔺) 1.042s (+2.9%) 0.571s 10 13.95x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 0.537s (-8.5% 🟢) 1.453s (+2.6%) 0.916s 10 1.00x
▲ Vercel Next.js (Turbopack) 0.561s (-23.8% 🟢) 1.564s (-2.7%) 1.003s 10 1.04x
▲ Vercel Express 0.574s (-13.5% 🟢) 1.608s (+4.2%) 1.034s 10 1.07x

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

workflow with 1 step

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🌐 Starter 🥇 Next.js (Turbopack) 1.068s (-1.7%) 2.009s (~) 0.941s 10 1.00x
🌐 Redis Next.js (Turbopack) 1.092s (-0.9%) 2.013s (~) 0.922s 10 1.02x
💻 Local Next.js (Turbopack) 1.100s (~) 2.011s (~) 0.911s 10 1.03x
💻 Local Express 1.112s (~) 2.008s (~) 0.895s 10 1.04x
💻 Local Nitro 1.113s (~) 2.005s (~) 0.892s 10 1.04x
🌐 MongoDB Next.js (Turbopack) 1.300s (-0.8%) 2.013s (~) 0.713s 10 1.22x
🌐 Turso Next.js (Turbopack) 1.310s (-0.7%) 2.012s (~) 0.702s 10 1.23x
🐘 Postgres Next.js (Turbopack) 1.786s (-3.3%) 2.018s (~) 0.233s 10 1.67x
🐘 Postgres Express 2.391s (+7.3% 🔺) 3.013s (~) 0.622s 10 2.24x
🐘 Postgres Nitro 2.461s (+14.6% 🔺) 3.013s (~) 0.552s 10 2.31x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 2.698s (+7.1% 🔺) 3.552s (-1.3%) 0.854s 10 1.00x
▲ Vercel Next.js (Turbopack) 2.715s (+4.1%) 3.678s (~) 0.963s 10 1.01x
▲ Vercel Express 2.794s (+13.0% 🔺) 3.671s (+7.1% 🔺) 0.877s 10 1.04x

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

workflow with 10 sequential steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🌐 Starter 🥇 Next.js (Turbopack) 10.452s (-1.2%) 11.012s (~) 0.560s 5 1.00x
💻 Local Next.js (Turbopack) 10.657s (~) 11.016s (~) 0.360s 5 1.02x
🌐 Redis Next.js (Turbopack) 10.662s (~) 11.020s (~) 0.358s 5 1.02x
💻 Local Express 10.793s (~) 11.015s (~) 0.222s 5 1.03x
💻 Local Nitro 10.801s (~) 11.009s (~) 0.209s 5 1.03x
🌐 Turso Next.js (Turbopack) 12.181s (~) 13.022s (~) 0.841s 5 1.17x
🌐 MongoDB Next.js (Turbopack) 12.197s (~) 13.028s (~) 0.831s 5 1.17x
🐘 Postgres Next.js (Turbopack) 15.106s (-0.8%) 16.041s (~) 0.934s 5 1.45x
🐘 Postgres Express 20.240s (~) 21.038s (~) 0.798s 5 1.94x
🐘 Postgres Nitro 20.352s (-0.7%) 21.037s (~) 0.685s 5 1.95x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 21.964s (+3.7%) 22.603s (+4.0%) 0.639s 5 1.00x
▲ Vercel Next.js (Turbopack) 22.068s (+4.1%) 22.802s (+3.5%) 0.733s 5 1.00x
▲ Vercel Express 22.817s (+8.5% 🔺) 23.824s (+9.8% 🔺) 1.007s 5 1.04x

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

Promise.all with 10 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🌐 Starter 🥇 Next.js (Turbopack) 1.306s (-2.2%) 2.007s (~) 0.702s 15 1.00x
🌐 Redis Next.js (Turbopack) 1.364s (~) 2.010s (~) 0.646s 15 1.04x
💻 Local Next.js (Turbopack) 1.384s (-0.7%) 2.010s (~) 0.627s 15 1.06x
💻 Local Express 1.415s (~) 2.007s (~) 0.592s 15 1.08x
💻 Local Nitro 1.428s (+0.7%) 2.006s (~) 0.578s 15 1.09x
🐘 Postgres Next.js (Turbopack) 1.824s (-7.1% 🟢) 2.015s (-6.8% 🟢) 0.191s 15 1.40x
🌐 MongoDB Next.js (Turbopack) 2.145s (+0.8%) 3.014s (~) 0.868s 10 1.64x
🌐 Turso Next.js (Turbopack) 2.223s (~) 3.012s (~) 0.789s 10 1.70x
🐘 Postgres Express 2.622s (+5.8% 🔺) 3.012s (~) 0.390s 10 2.01x
🐘 Postgres Nitro 2.645s (+8.5% 🔺) 3.014s (~) 0.369s 10 2.03x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 2.890s (+9.6% 🔺) 3.738s (+2.3%) 0.849s 9 1.00x
▲ Vercel Next.js (Turbopack) 2.934s (+4.5%) 3.720s (+3.0%) 0.786s 9 1.02x
▲ Vercel Express 3.186s (+23.7% 🔺) 3.992s (+13.5% 🔺) 0.806s 8 1.10x

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

Promise.all with 25 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Next.js (Turbopack) 2.188s (-1.9%) 3.072s (-3.3%) 0.884s 10 1.00x
💻 Local Express 2.222s (-1.4%) 3.174s (-0.7%) 0.952s 10 1.02x
💻 Local Nitro 2.254s (+1.5%) 3.195s (+0.9%) 0.941s 10 1.03x
🌐 Starter Next.js (Turbopack) 2.367s (-3.8%) 3.010s (~) 0.643s 10 1.08x
🌐 Redis Next.js (Turbopack) 2.474s (~) 3.012s (~) 0.538s 10 1.13x
🐘 Postgres Next.js (Turbopack) 2.591s (-1.6%) 3.029s (~) 0.439s 10 1.18x
🐘 Postgres Express 3.202s (+9.8% 🔺) 3.762s (+20.9% 🔺) 0.560s 8 1.46x
🐘 Postgres Nitro 3.207s (+9.5% 🔺) 3.777s (+17.6% 🔺) 0.570s 8 1.47x
🌐 Turso Next.js (Turbopack) 4.631s (-0.8%) 5.184s (~) 0.553s 6 2.12x
🌐 MongoDB Next.js (Turbopack) 4.790s (+3.4%) 5.180s (~) 0.390s 6 2.19x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 3.214s (-23.5% 🟢) 3.686s (-24.2% 🟢) 0.473s 9 1.00x
▲ Vercel Express 3.244s (-0.8%) 4.023s (+3.1%) 0.780s 8 1.01x
▲ Vercel Next.js (Turbopack) 3.295s (-12.5% 🟢) 3.878s (-13.3% 🟢) 0.584s 8 1.03x

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

Promise.race with 10 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
🌐 Starter 🥇 Next.js (Turbopack) 1.318s (-3.1%) 2.007s (~) 0.689s 15 1.00x
🌐 Redis Next.js (Turbopack) 1.333s (-1.3%) 2.010s (~) 0.677s 15 1.01x
💻 Local Next.js (Turbopack) 1.414s (+0.6%) 2.012s (~) 0.598s 15 1.07x
💻 Local Express 1.429s (~) 2.007s (~) 0.577s 15 1.08x
💻 Local Nitro 1.448s (+2.9%) 2.006s (~) 0.558s 15 1.10x
🐘 Postgres Nitro 1.750s (-14.0% 🟢) 2.010s (-29.0% 🟢) 0.260s 15 1.33x
🐘 Postgres Next.js (Turbopack) 1.751s (+4.3%) 2.012s (~) 0.261s 15 1.33x
🐘 Postgres Express 1.811s (+12.0% 🔺) 2.077s (+3.2%) 0.266s 15 1.37x
🌐 MongoDB Next.js (Turbopack) 2.125s (-1.5%) 3.012s (~) 0.887s 10 1.61x
🌐 Turso Next.js (Turbopack) 2.215s (~) 3.015s (~) 0.800s 10 1.68x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Express 2.715s (+4.3%) 3.696s (+5.3% 🔺) 0.981s 9 1.00x
▲ Vercel Nitro 2.758s (+6.9% 🔺) 3.610s (+3.2%) 0.852s 9 1.02x
▲ Vercel Next.js (Turbopack) 3.018s (+9.1% 🔺) 3.851s (+5.8% 🔺) 0.833s 8 1.11x

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

Promise.race with 25 concurrent steps

💻 Local Development

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
💻 Local 🥇 Next.js (Turbopack) 2.230s (-1.7%) 3.117s (-1.6%) 0.888s 10 1.00x
💻 Local Nitro 2.234s (-0.5%) 3.181s (~) 0.947s 10 1.00x
💻 Local Express 2.251s (-0.6%) 3.198s (-0.6%) 0.947s 10 1.01x
🌐 Starter Next.js (Turbopack) 2.387s (-4.9%) 3.009s (~) 0.623s 10 1.07x
🌐 Redis Next.js (Turbopack) 2.457s (~) 3.011s (~) 0.554s 10 1.10x
🐘 Postgres Next.js (Turbopack) 2.473s (-6.2% 🟢) 3.024s (~) 0.551s 10 1.11x
🐘 Postgres Nitro 2.637s (-10.8% 🟢) 3.024s (-3.1%) 0.387s 10 1.18x
🐘 Postgres Express 2.665s (-10.7% 🟢) 3.020s (-6.2% 🟢) 0.355s 10 1.20x
🌐 MongoDB Next.js (Turbopack) 4.658s (~) 5.183s (~) 0.525s 6 2.09x
🌐 Turso Next.js (Turbopack) 4.700s (-0.8%) 5.184s (~) 0.484s 6 2.11x

▲ Production (Vercel)

World Framework Workflow Time Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Nitro 3.035s (-1.6%) 3.576s (-2.3%) 0.542s 9 1.00x
▲ Vercel Next.js (Turbopack) 3.392s (+10.3% 🔺) 3.987s (+8.7% 🔺) 0.595s 8 1.12x
▲ Vercel Express 5.835s (+96.0% 🔺) 6.383s (+80.8% 🔺) 0.548s 6 1.92x

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

Stream Benchmarks (includes TTFB metrics)
workflow with stream

💻 Local Development

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
🌐 Starter 🥇 Next.js (Turbopack) 0.090s (-27.5% 🟢) 1.005s (~) 0.000s (+Infinity% 🔺) 1.012s (~) 0.922s 10 1.00x
💻 Local Next.js (Turbopack) 0.138s (-0.8%) 1.003s (~) 0.022s (+1.9%) 1.033s (~) 0.895s 10 1.53x
🌐 Redis Next.js (Turbopack) 0.145s (-3.1%) 1.005s (~) 0.000s (+Infinity% 🔺) 1.014s (~) 0.869s 10 1.61x
💻 Local Express 0.176s (-2.1%) 0.992s (~) 0.019s (+8.7% 🔺) 1.026s (~) 0.850s 10 1.95x
💻 Local Nitro 0.179s (+1.8%) 0.992s (~) 0.017s (+1.8%) 1.023s (~) 0.844s 10 1.98x
🌐 MongoDB Next.js (Turbopack) 0.463s (-12.3% 🟢) 0.986s (+7.0% 🔺) 0.000s (-100.0% 🟢) 1.013s (~) 0.550s 10 5.12x
🌐 Turso Next.js (Turbopack) 0.484s (-8.1% 🟢) 0.966s (+4.3%) 0.000s (+100.0% 🔺) 1.014s (~) 0.530s 10 5.36x
🐘 Postgres Next.js (Turbopack) 1.368s (+17.4% 🔺) 1.670s (~) 0.000s (NaN%) 2.019s (+11.1% 🔺) 0.651s 10 15.15x
🐘 Postgres Nitro 2.145s (-8.1% 🟢) 2.899s (+7.0% 🔺) 0.000s (NaN%) 3.016s (~) 0.871s 10 23.75x
🐘 Postgres Express 2.333s (-2.3%) 2.711s (+2.1%) 0.000s (+Infinity% 🔺) 3.014s (~) 0.682s 10 25.83x

▲ Production (Vercel)

World Framework Workflow Time TTFB Slurp Wall Time Overhead Samples vs Fastest
▲ Vercel 🥇 Next.js (Turbopack) 2.740s (+8.6% 🔺) 3.295s (+5.3% 🔺) 0.541s (+105.1% 🔺) 4.247s (+12.2% 🔺) 1.507s 10 1.00x
▲ Vercel Nitro 2.825s (+16.9% 🔺) 3.200s (+9.2% 🔺) 0.603s (+51.2% 🔺) 4.261s (+14.8% 🔺) 1.435s 10 1.03x
▲ Vercel Express 2.853s (+11.0% 🔺) 3.263s (+8.1% 🔺) 0.450s (+73.0% 🔺) 4.204s (+14.4% 🔺) 1.351s 10 1.04x

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

Summary

Fastest Framework by World

Winner determined by most benchmark wins

World 🥇 Fastest Framework Wins
💻 Local Next.js (Turbopack) 8/8
🐘 Postgres Next.js (Turbopack) 6/8
▲ Vercel Nitro 6/8
Fastest World by Framework

Winner determined by most benchmark wins

Framework 🥇 Fastest World Wins
Express 💻 Local 8/8
Next.js (Turbopack) 🌐 Starter 6/8
Nitro 💻 Local 8/8
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

@ijjk ijjk merged commit 8ba8b6b into main Dec 23, 2025
142 of 144 checks passed
@ijjk ijjk deleted the ijjk/revert-stdlib-builtin branch December 23, 2025 18:04
ijjk added a commit that referenced this pull request Dec 31, 2025
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