Benchmarks

Every number has a source.

We publish a number only with its provenance, where it was measured from, which side measured it, the date, the sample count and a link to the raw data. Each B3OS number also states the transport, the regime and its concurrency or arrival rate, and the conditions it ran under. Competitors are measured the way their own benchmarks measure them.

36 published B3OS numbers and 268 numbers cited from other providers, 166 of them in like-for-like tables, inputs up to Oct 26, 2026. 4 cited figures have a newer figure from the same source and are left out.

The loop

One agent task, three places to run it

Each task is N turns. A turn is one streamed infer.chat call on a named model with fixed prompt and token counts, plus one tool call that rotates among sandboxes.exec, vision.scrape (a local fixture and one real site) and a browser-session act. At least 30 tasks per configuration, p50 and p95 per turn and per task, with the share of each turn spent in transport rather than compute. Raw JSONL for every run.

  • AAgent in a sandbox on the node

    The harness runs inside a B3OS sandbox and calls the co-located model and tools over vsock.

  • BAgent in AWS us-west-2, calling B3OS

    The same harness runs in us-west-2 and calls B3OS through beta-api.b3os.org.

  • CAgent in AWS us-west-2, calling other providers

    The same harness in us-west-2 calls the same open model on an OpenAI-compatible host, and E2B, Firecrawl and Browserbase through their own SDKs.

ConfigurationPer turnPer taskModel callTool callTransport per turn
AAgent in a sandbox on the nodesame-hostmeasuringmeasuringmeasuringmeasuringmeasuring
BAgent in AWS us-west-2, calling B3OScross-region from us-west-2measuringmeasuringmeasuringmeasuringmeasuring
CAgent in AWS us-west-2, calling other providerscross-region from us-west-2measuringmeasuringmeasuringmeasuringmeasuring

Per-hop multipliers are never shown without the per-turn numbers behind them. Configuration A is the only one where the model, the tools and the agent share a machine; frontier models served elsewhere get co-located tools but not a co-located model.

vision

Measuring

Scrape from cache

A scrape answered from the shared cache, server side.

Measuringp50, server side

Plain-fetch overhead

Time added over the origin's time to last byte, for HTML up to 300 KB at a stated concurrency. Extraction is timed separately.

Measuringp50, server side

Browser scrape

Navigate, wait for ready, read HTML and convert to Markdown, against a recorded (HAR replay) origin on a named corpus.

Measuringp50, server side

Browser context claim

Claiming a pre-created context from the scrape pool, with the pool depth stated.

Measuringp50, server side

Browser context claim, p99

The same claim at the 99th percentile.

Measuringp99, server side

Session browser claim

Creating a browser session from the pool of whole browsers.

Measuringp50, server side

Act overhead

Time per action in a batched act call, beyond the browser's own work.

Measuringp50, server side

What others publish

Each table holds numbers measured the same way, from the same side and kind of vantage point, best first. B3OS joins a table only with a number measured that way too.

10-action Wikipedia flow, actions per second

client side · client in the provider's region · actions/s · descending (higher is better)

Competitor-runp50 · by Notte (runs Browser Arena and competes in it); raw JSONL re-analyzed by the B3OS fact-check · AWS us-east-1 client (t3.medium), provider in-region; Notte and Lightpanda from us-west-1 (t3.small) · measured 2026-10-25Arena hello-browser: create session via provider SDK, Playwright connectOverCDP, goto example.com (domcontentloaded), release; percentiles over successful runs only
WhoValueProvenance and conditions
Tilion5.26–5.34actions/sn not statedsource1.87-1.90 s per 10-action task
Browser Use4.3actions/sn not statedsource4.29 in the newest three runs
Kernel4.2–4.4actions/sn not statedsourceheadful 4.27, headless 4.37 in the newest three runs
Browserbase4.15actions/sn not statedsourcenewest three runs (Oct 21, 22, 25)
AWS Bedrock AgentCore Browser1.17actions/sn not statedsource66% success

Page.captureScreenshot over cloud CDP

client side · client in the provider's region · ms · ascending (lower is better)

WhoValueProvenance and conditions
Browserbase162–166msCompetitor-runp50by Notte (runs Browser Arena and competes in it); raw JSONL re-analyzed by the B3OS fact-checkAWS us-east-1 client (t3.medium), provider in-region; Notte and Lightpanda from us-west-1 (t3.small)measured 2026-10-25n not statedsource166 ms in the report's window, 162 ms over the newest three runs. Arena hello-browser: create session via provider SDK, Playwright connectOverCDP, goto example.com (domcontentloaded), release; percentiles over successful runs only

session create p95 under bursts of 10 concurrent creates

client side · client in the provider's region · ms · ascending (lower is better)

Competitor-runp95 · by Notte (runs Browser Arena and competes in it); raw JSONL re-analyzed by the B3OS fact-check · AWS us-east-1 client (t3.medium), provider in-region; Notte and Lightpanda from us-west-1 (t3.small) · measured 2026-10-22Arena hello-browser: create session via provider SDK, Playwright connectOverCDP, goto example.com (domcontentloaded), release; percentiles over successful runs only
WhoValueProvenance and conditions
Browser Use273–295msn not statedsourcec10 runs, Oct 16-22
Hyperbrowser417msn not statedsourcec10 runs, Oct 16-22
Notte559msn not statedsourcec10 runs, Oct 16-22
Cloudflare Browser Run564–588msn not statedsourcec10 runs, Oct 16-22
Kernel2,500–3,000msn not statedsourcec10 runs, Oct 16-22
Tilion12,600msn not statedsourcec10 runs, Oct 16-22
Browserbase54,400msn not statedsourcec10 runs, Oct 16-22

session create (API return)

client side · client in the provider's region · ms · ascending (lower is better)

Competitor-runp50 · by Notte (runs Browser Arena and competes in it); raw JSONL re-analyzed by the B3OS fact-check · AWS us-east-1 client (t3.medium), provider in-region; Notte and Lightpanda from us-west-1 (t3.small) · measured 2026-10-22Arena hello-browser: create session via provider SDK, Playwright connectOverCDP, goto example.com (domcontentloaded), release; percentiles over successful runs only
WhoValueProvenance and conditions
Tilion (waitlist beta)18msn=700sourceOct 16-22 window, sequential
Kernel headless (1 GiB)20msn not statedsourcelatest two days, Oct 21-22, 100% success
Kernel headful (8 GB)23msn not statedsourcelatest two days, Oct 21-22, 100% success
Kernel headless24msn not statedsource30 days, Sep 25-Oct 22, 96.3% success

create + CDP connect

client side · client in the provider's region · ms · ascending (lower is better)

Competitor-runp50 · by Notte (runs Browser Arena and competes in it); raw JSONL re-analyzed by the B3OS fact-check · AWS us-east-1 client (t3.medium), provider in-region; Notte and Lightpanda from us-west-1 (t3.small) · measured 2026-10-22Arena hello-browser: create session via provider SDK, Playwright connectOverCDP, goto example.com (domcontentloaded), release; percentiles over successful runs only
WhoValueProvenance and conditions
Tilion79–90msn not statedsourcerange over the fact-check windows
Kernel headful86–111msn not statedsourcerange over the fact-check windows

create + connect + goto(example.com)

client side · client in the provider's region · ms · ascending (lower is better)

Competitor-runp50 · by Notte (runs Browser Arena and competes in it); raw JSONL re-analyzed by the B3OS fact-check · AWS us-east-1 client (t3.medium), provider in-region; Notte and Lightpanda from us-west-1 (t3.small) · measured 2026-10-22Arena hello-browser: create session via provider SDK, Playwright connectOverCDP, goto example.com (domcontentloaded), release; percentiles over successful runs only
WhoValueProvenance and conditions
Tilion122–137msn not statedsourceOct 16-22; p99 13.0 s
Notte265msn not statedsourceOct 16-22; us-west-1 client (t3.small)
Kernel267–283msn not statedsourceSOTA-bar range; the report's 272-336 / 638-684 mixed headless and headful
Browser Use385–405msn not statedsourceOct 16-22
Browserbase463–483msn not statedsourceOct 16-22; Browserbase's p50 fell from ~780-830 ms to ~450-530 ms from Oct 16 (provider-side change)
Cloudflare Browser Run810msn not statedsourceOct 16-22
Steel1,319msn not statedsourceOct 16-22
Anchor Browser1,950msn not statedsourceOct 16-22

average connect / average navigation to example.com

client side · vendor figure, method not stated · ms · ascending (lower is better)

Competitor-runmean_connect · by Browserless (a hosted-browser vendor measuring its competitors) · not stated · published 2026-01none recorded beyond the metric and vantage (fact-check research-vision.md A15)
WhoValueProvenance and conditions
Hyperbrowser692msn not statedsource
Browserless936msn not statedsource
Browserbase1,930msn not statedsource
Anchor Browser5,582msn not statedsource

browser lifecycle total per session

client side · client, location not stated · ms · ascending (lower is better)

Independenttotal · by ComputeSDK · not disclosed (region, run count and date undisclosed) · retrieved 2026-10-25
WhoValueProvenance and conditions
Tilion195msn not statedsourcephase breakdown: create 14 / connect 98 / navigate 60 ms
Kernel242msn not statedsourcephase breakdown: create 9 / connect 33 / navigate 139 ms
Browser Use320msn not statedsourcenone recorded beyond the metric and vantage (fact-check research-vision.md A13)
Browserbase622msn not statedsourcenone recorded beyond the metric and vantage (fact-check research-vision.md A13)
Hyperbrowser701msn not statedsourcenone recorded beyond the metric and vantage (fact-check research-vision.md A13)
Steel1,309msn not statedsourcenone recorded beyond the metric and vantage (fact-check research-vision.md A13)
Notte1,750msn not statedsourcenone recorded beyond the metric and vantage (fact-check research-vision.md A13)

browserbench: create / end to end (averages)

client side · vendor figure, method not stated · ms · ascending (lower is better)

Vendor claimmean_create · by Kernel (write-up of a browserbench run) · not stated in the write-up · measured 2026-01none recorded beyond the metric and vantage (fact-check research-vision.md A12)
WhoValueProvenance and conditions
Kernel37msn=5,000sourceaverages, 5,000 runs
Steel182msn=5,000sourceaverages, 5,000 runs
Browserbase213msn=5,000sourceaverages, 5,000 runs
Anchor Browser3,797msn=5,000sourceaverages, 5,000 runs

live single-URL scrape to markdown (maxAge 0)

client side · client, location not stated · ms · ascending (lower is better)

WhoValueProvenance and conditions
Firecrawl2,829msIndependentp50by techstackups (Ritza; no sponsorship disclosed)client location not statedupdated 2026-10-20n=821sourcenone recorded beyond the metric and vantage (fact-check research-vision.md B24)

create, connect, goto google.com, release: total

client side · client in the provider's region · ms · ascending (lower is better)

Competitor-runp50 · by Steel (steel-dev/browserbench) · AWS us-east-1 client · published 2025-11-07none recorded beyond the metric and vantage (fact-check research-vision.md A12)
WhoValueProvenance and conditions
Steel867msn=5,000source5,000 runs per provider
Kernel1,485msn=5,000source5,000 runs per provider
Browserbase1,669msn=5,000source5,000 runs per provider
Hyperbrowser3,665msn=5,000source5,000 runs per provider
Anchor Browser7,919msn=5,000source5,000 runs per provider

end-to-end session (average)

client side · client in another region · ms · ascending (lower is better)

Independentmean · by techstackups (Ritza) · client in Hetzner Helsinki (transatlantic RTT included) · updated 2026-05-31
WhoValueProvenance and conditions
Steel1,441msn=10sourceaverage of 10 measured sessions. none recorded beyond the metric and vantage (fact-check research-vision.md A14)
Kernel1,554msn=10sourceaverage of 10 measured sessions. none recorded beyond the metric and vantage (fact-check research-vision.md A14)
Browserless2,090msn=10sourceaverage of 10 measured sessions. none recorded beyond the metric and vantage (fact-check research-vision.md A14)
Anchor Browser3,730msn=10sourceaverage of 10 measured sessions. none recorded beyond the metric and vantage (fact-check research-vision.md A14)
Hyperbrowser4,012msn=10sourceaverage of 10 measured sessions. none recorded beyond the metric and vantage (fact-check research-vision.md A14)
Browserbase11,933msn=10sourceaverage of 10 measured sessions. 9,401 ms of it was create
32 more cited numbers for vision

Published by vendors and third parties, each measured its own way. They are listed for reference and not compared with each other or with B3OS.

WhoValueWhat, provenance and conditions
Tavily1–1.6USD/1k pagesprice per 1,000 pagesVendor claimlistby Tavilylist priceclient sideretrieved 2026-10-25n not statedsource
Steel5USD/1k pagesprice per 1,000 pagesVendor claim/scrapeby Steellist priceclient sideretrieved 2026-10-25n not statedsource
Spider0.1–0.3USD/1k pagesprice per 1,000 pagesVendor claimderivedby Spiderlist priceclient sideretrieved 2026-10-25n not statedsource
Hyperbrowser1USD/1k pagesprice per 1,000 pagesVendor claimlistby Hyperbrowserlist priceclient sideretrieved 2026-10-25n not statedsource
Firecrawl0.75USD/1k pagesprice per 1,000 pagesVendor claimScale monthlyby Firecrawllist priceclient sideretrieved 2026-10-25n not statedsource
Exa1USD/1k pagesprice per 1,000 pagesVendor claimper content typeby Exalist priceclient sideretrieved 2026-10-25n not statedsource
Browserbase Fetch0.5USD/1k pagesprice per 1,000 pagesVendor claimStartupby Browserbase Fetchlist priceclient sideretrieved 2026-10-25n not statedsource
Steel0.1USD/hbrowser-hour list priceVendor claimlistby Steellist priceclient sideretrieved 2026-10-25n not statedsource
Notte0.01USD/hbrowser-hour list priceVendor claimlistby Nottelist priceclient sideretrieved 2026-10-25n not statedsource
Kernel0.06USD/hbrowser-hour list priceVendor claimlistby Kernellist priceclient sideretrieved 2026-10-25n not statedsource
Hyperbrowser0.1USD/hbrowser-hour list priceVendor claimlistby Hyperbrowserlist priceclient sideretrieved 2026-10-25n not statedsource
Cloudflare Browser Run0.09USD/hbrowser-hour list priceVendor claimlistby Cloudflare Browser Runlist priceclient sideretrieved 2026-10-25n not statedsource
Browserbase0.12USD/hbrowser-hour list priceVendor claimlistby Browserbaselist priceclient sideretrieved 2026-10-25n not statedsource
Browser Use0.02USD/hbrowser-hour list priceVendor claimlistby Browser Uselist priceclient sideretrieved 2026-10-25n not statedsource
Anchor Browser0.09USD/hbrowser-hour list priceVendor claimlistby Anchor Browserlist priceclient sideretrieved 2026-10-25n not statedsource
Spider1,538concurrentconcurrency and creation limitsVendor claim$19,994/moby Spiderlist priceclient sideretrieved 2026-10-25n not statedsource
Kernel150concurrentconcurrency and creation limitsVendor claimtop self-serve planby Kernellist priceclient sideretrieved 2026-10-25n not statedsource
Firecrawl100concurrentconcurrency and creation limitsVendor claimScaleby Firecrawllist priceclient sideretrieved 2026-10-25n not statedsource
Cloudflare Browser Run200concurrentconcurrency and creation limitsVendor claimPaidby Cloudflare Browser Runlist priceclient sideretrieved 2026-10-25n not statedsource
Browserbase150creates/minconcurrency and creation limitsVendor claimScale (Free 5, Developer 25, Startup 50)by Browserbaselist priceclient sideretrieved 2026-10-25n not statedsource
Browser Use1,000concurrentconcurrency and creation limitsVendor claimafter $25k cumulative spendby Browser Uselist priceclient sideretrieved 2026-10-25n not statedsource
Bright Data (Browser API)2,000msstartup time; success at 250 concurrent agentsAffiliatedapprox_startupby AIMultiple (Bright Data is a disclosed subscriber of its benchmarking services)not statedclient sideretrieved 2026-10-25n=20source
Airtop4,000msstartup time; successAffiliatedapprox_startupby AIMultiple (has disclosed commercial ties to tested vendors)not statedclient sideretrieved 2026-10-25n=20source
Lightpanda4.5s940 pages at 25 tabs: wall time, memory, CPUVendor claimwallby Lightpandamachine not statedserver sidepublished 2026-10-19n not statedsource
Spider45msstatic time to first result; average pages/s over 1,000 URLsVendor claimttfr_staticby Spider (designed the test)c6i.4xlarge client in us-east-2client sideupdated 2026-09-02n=1,000source
Firecrawl310msstatic time to first result; average pages/s (in Spider's test)Competitor-runttfr_staticby Spider (designed the test and competes with Firecrawl)c6i.4xlarge client in us-east-2client sideupdated 2026-09-02n=1,000source
Cloudflare (Browser Run: warm Chromium vs Kitesurf)472msHTML extraction wall time (median of 5 runs over 14 URLs)Vendor claimp50_warm_chromiumby Cloudflare (Celso Martinho)Cloudflare internalserver sidepublished 2026-08-06n not statedsource
Browser Use cloud (Firecracker snapshot-resume)825mssession create in a 10,000-session stress testVendor claimp50by Browser Usethrough the public API (region not stated)client sidepublished 2026-06-15n not statedsource
rs-trafilatura0.903F1main-content extraction F1 on the WCXB held-out test set; time per pageAffiliatedtestby Murrough Foley (WCXB author, also wrote rs-trafilatura)AMD Ryzen, threading not statedserver sidepublished 2026-05n not statedsource
Kernel30msbrowser create (vendor-reported)Vendor claimp50by Kernelunstated (Kernel browsers run in us-east only)client sidepublished 2026-04-24n not statedsource
Spider Browser705msbrowser create p50 / p95; end to endVendor claimp50by Spidernot statedclient sidepublished 2026-02-17n=50source
Firecrawl3,387msscrape p95 on 1,000 URLs (firecrawl/scrape-content-dataset-v1)Vendor claimp95by FirecrawlFirecrawl's internal runclient sidepublished 2026-01-13n=1,000source

render

Measuring

Styled screenshot

1600×900 at DPR 1, JPEG or WebP, quiet window included, server side.

Measuringp50, server side

Styled screenshot at DPR 2

The same capture at device pixel ratio 2.

Measuringp50, server side

Each extra variant

Time each additional encoding of the same capture adds.

Measuringp50, server side

10-second scripted demo

From request to finished MP4 on a HAR-cached app. The first recording pass is reported separately.

Measuringp50, server side

30-second narrated demo

With text-to-speech on the GPU slice; a CPU text-to-speech row is separate.

Measuringp50, server side

Encode throughput

Frames encoded per second across concurrent jobs, x264 veryfast CRF 20, on a named content mix within render's CPU budget.

Measuringthroughput, server side

screenshot total, PNG with a transparent background

Measuringp50, server side

video job total on the first (recording) pass, no HAR cache yet

Measuringp50, server side

narrated video job total, 30 s output, TTS on CPU

Measuringp50, server side

What others publish

Each table holds numbers measured the same way, from the same side and kind of vantage point, best first. B3OS joins a table only with a number measured that way too.

uncached screenshot, average over 7 URLs (DPR 2, full page, ad blocking)

client side · client, location not stated · ms · ascending (lower is better)

mean · by Microlink (a screenshot-API vendor measuring itself and its competitors) · single New York vantage point · measured 2026-0310 runs at different hours, slowest dropped
WhoValueProvenance and conditions
Microlink4,111.84msVendor claimn not statedsource
Urlbox7,334.22msCompetitor-runn not statedsource
ScreenshotOne7,711.14msCompetitor-runn not statedsource
ApiFlash9,463.2msCompetitor-runn not statedsource
10 more cited numbers for render

Published by vendors and third parties, each measured its own way. They are listed for reference and not compared with each other or with B3OS.

WhoValueWhat, provenance and conditions
Remotion Lambda720s2 h video, 1920x1080 at 30 fps (216,000 frames)Vendor claimwallby Remotion200 warm ARM64 Lambdas, us-east-1server sideretrieved 2026-10-25n not statedsource
Shotstack0.05–0.2USD/minrender price per output minuteVendor claimpay-as-you-go to $499 planby Shotstacklist priceclient sideretrieved 2026-10-25n not statedsource
Remotion0.01USD/renderRemotion automation licenceVendor claimAutomatorsby Remotionlist priceclient sideretrieved 2026-10-25n not statedsource
HeyGen (HyperFrames)0.1USD/minHTML-to-video render price per output minute, 1080p60Vendor claimEnterpriseby HeyGenlist priceclient sideretrieved 2026-10-25n not statedsource
Editframe0.02USD/processing-mincloud rendering per minute of server processingVendor claim≤2 MPby Editframelist priceclient sideretrieved 2026-10-25n not statedsource
Creatomate0.38USD/minrender price per output minuteVendor claimEssential, about 14 credits/min at 720p25by Creatomatelist priceclient sideretrieved 2026-10-25n not statedsource
Microlink49USD/monthscreenshot API planVendor claimPro, 46,000 requests (~$1.07/1k)by Microlinklist priceclient sideretrieved 2026-10-25n not statedsource
Microlink968msuncached screenshot of example.com (average)Vendor claimmeanby MicrolinkNew Yorkclient sidemeasured 2026-03n not statedsource
Remotion Lambda15.52s"1 minute" video: 1280x720 at 24 fps (1,440 frames), video-in-videoVendor claimcoldby RemotionAWS us-east-1, default concurrency (~72 Lambdas by the documented formula)server sideversion-date 2025-12-03n not statedsource
Remotion Lambda56.09s"10 minute HD": 1280x720 at 24 fps (14,315 frames)Vendor claimwarmby RemotionAWS us-east-1server sideversion-date 2025-12-03n not statedsource

sandboxes

Measuring

Claim to first exec

Create a sandbox and run its first command, end to end on the same host, at idle. Pool depth stated.

Measuringp50, client side

Claim to first exec, 100 at once

The same under a burst of 100 simultaneous claims.

Measuringp50, client side

Exec round trip

Run /bin/true in a running sandbox: b3osd to the guest agent, process spawn, exit status back.

Measuringp50, server side

Pause and resume

Each of pause and resume on a running sandbox.

Measuringp50, server side

Fork

One fork of a sandbox with up to 128 MiB of RAM and 64 MiB dirty. Larger sizes are published as a curve.

Measuringp50, server side

Time to interactive, ComputeSDK harness

Create a sandbox and run node -v, measured by ComputeSDK's own harness from their runners: the shape other sandbox providers are measured in.

Measuringp50, client side

What others publish

Each table holds numbers measured the same way, from the same side and kind of vantage point, best first. B3OS joins a table only with a number measured that way too.

DAX workload (install, typecheck, run) total

client side · client, location not stated · s · ascending (lower is better)

Independenttotal · by ComputeSDK (computesdk/benchmarks) · ComputeSDK runner (region undisclosed); client-timed · measured 2026-10-23TTI = create sandbox + run `node -v` (destroy untimed), via each provider's @computesdk package
WhoValueProvenance and conditions
promigence32.4sn not statedsourcesingle run (2026-10-23)
isorun34.3sn not statedsourcesingle run (2026-10-23)
MIOSA40.7sn not statedsourcesingle run (2026-10-23)
Blaxel49.8sn not statedsourcesingle run (2026-10-23)
Vercel Sandbox63.8sn not statedsourcesingle run (2026-10-23)
Daytona74.4sn not statedsourcesingle run (2026-10-23)
Cloudflare Sandbox149.6sn not statedsourcesingle run (2026-10-23)
declaw230.3sn not statedsourcesingle run (2026-10-23)

TTI, 100 concurrent (burst)

client side · client, location not stated · ms · ascending (lower is better)

Independentp50 · by ComputeSDK (computesdk/benchmarks) · ComputeSDK runner (region undisclosed); client-timedTTI = create sandbox + run `node -v` (destroy untimed), via each provider's @computesdk package
WhoValueProvenance and conditions
isorun33.25msmeasured 2026-09-11n=100sourcebest full run ever (2026-09-11)
MIOSA57.1msmeasured 2026-10-23n=100sourcebest run (2026-10-23)
MIOSA57.1msmeasured 2026-10-23n=100sourcelatest run (2026-10-23)
isorun74.9msmeasured 2026-10-23n=100sourcelatest run (2026-10-23)
isorun74.9msmeasured 2026-10-23n=100sourcemedian of per-run medians (44 runs, 2026-02-21 to 2026-10-23)
promigence91.8msmeasured 2026-10-23n=100sourcelatest run (2026-10-23)
declaw139.1msmeasured 2026-06-17n=100sourcebest run (2026-06-17)
Northflank158.3msmeasured 2026-07-17n=100sourcebest run (2026-07-17); typical 297.5 ms over 46 runs
MIOSA192.7msmeasured 2026-10-23n=100sourcemedian of per-run medians (10 runs, 2026-02-21 to 2026-10-23)
Daytona231.9msmeasured 2026-04-11n=100sourcebest run (2026-04-11)
Blaxel335.1msmeasured 2026-07-31n=100sourcebest run (2026-07-31)
Vercel Sandbox403.2msmeasured 2026-07-17n=100sourcebest run (2026-07-17)
declaw430msmeasured 2026-10-23n=100sourcemedian of per-run medians (97 runs, 2026-02-21 to 2026-10-23)
Blaxel441.8msmeasured 2026-10-23n=100sourcelatest run (2026-10-23)
E2B442.7msmeasured 2026-07-11n=100sourcebest run (2026-07-11)
Daytona453msmeasured 2026-10-23n=100sourcemedian of per-run medians (134 runs, 2026-02-21 to 2026-10-23)
Cloudflare Sandbox536.3msmeasured 2026-10-02n=100sourcebest run (2026-10-02)
Modal552.3msmeasured 2026-07-08n=100sourcebest run (2026-07-08)
E2B639.7msmeasured 2026-10-23n=100sourcemedian of per-run medians (143 runs, 2026-02-21 to 2026-10-23)
Cloudflare Sandbox647.84msmeasured 2026-09-25n=100sourcethe 2026-09-25 run Cloudflare cited after its rebuild
Cloudflare Sandbox682.1msmeasured 2026-10-23n=100sourcelatest run (2026-10-23)
Vercel Sandbox718.4msmeasured 2026-10-23n=100sourcelatest run (2026-10-23)
Vercel Sandbox752.3msmeasured 2026-10-23n=100sourcemedian of per-run medians (139 runs, 2026-02-21 to 2026-10-23)
Freestyle855.9msmeasured 2026-09-10n=100sourcebest run (2026-09-10)
declaw989.9msmeasured 2026-10-23n=100sourcelatest run (2026-10-23)
Modal1,070.6msmeasured 2026-10-23n=100sourcelatest run (2026-10-23)
Daytona1,094.6msmeasured 2026-10-23n=100sourcelatest run (2026-10-23)
Blaxel1,247.9msmeasured 2026-10-23n=100sourcemedian of per-run medians (118 runs, 2026-02-21 to 2026-10-23)
Freestyle1,437.6msmeasured 2026-10-23n=100sourcemedian of per-run medians (11 runs, 2026-02-21 to 2026-10-23)
E2B1,439.4msmeasured 2026-10-23n=100sourcelatest run (2026-10-23)
Modal1,668.4msmeasured 2026-10-23n=100sourcemedian of per-run medians (142 runs, 2026-02-21 to 2026-10-23)
Cloudflare Sandbox2,066.4msmeasured 2026-10-23n=100sourcemedian of per-run medians (124 runs, 2026-02-21 to 2026-10-23)
Freestyle3,237.5msmeasured 2026-10-23n=100sourcelatest run (2026-10-23)
CodeSandbox33,772msmeasured 2026-10-23n=100sourcelatest run (2026-10-23)

TTI, sequential

client side · client, location not stated · ms · ascending (lower is better)

Independentp50 · by ComputeSDK (computesdk/benchmarks) · ComputeSDK runner (region undisclosed); client-timedTTI = create sandbox + run `node -v` (destroy untimed), via each provider's @computesdk package
WhoValueProvenance and conditions
isorun12.04msSupersededmeasured 2026-07-17n=100sourcebest run (2026-07-17)
declaw13.2msSupersededmeasured 2026-08-07n=100sourcebest run (2026-08-07)
declaw13.2msSupersededmeasured 2026-08-07n=100sourcelast sequential run (2026-08-07; mode retired)
isorun16.8msSupersededmeasured 2026-08-07n=100sourcelast sequential run (2026-08-07; mode retired)
isorun25msSupersededmeasured 2026-08-07n=100sourcemedian of per-run medians (30 runs)
declaw45.7msSupersededmeasured 2026-08-07n=100sourcemedian of per-run medians (83 runs)
Northflank64.5msSupersededmeasured 2026-07-17n=100sourcebest run (2026-07-17)
Northflank82.8msSupersededmeasured 2026-08-07n=100sourcelast sequential run (2026-08-07; mode retired)
Daytona94.2msSupersededmeasured 2026-03-14n=100sourcebest run (2026-03-14)
Northflank152.7msSupersededmeasured 2026-08-07n=100sourcemedian of per-run medians (45 runs)
Blaxel196.9msSupersededmeasured 2026-07-17n=100sourcebest run (2026-07-17)
Daytona197msSupersededmeasured 2026-08-07n=100sourcemedian of per-run medians (130 runs)
E2B233.3msSupersededmeasured 2026-03-11n=100sourcebest run (2026-03-11)
Blaxel251.4msSupersededmeasured 2026-08-07n=100sourcelast sequential run (2026-08-07; mode retired)
Vercel Sandbox308.8msSupersededmeasured 2026-07-17n=100sourcebest run (2026-07-17)
Vercel Sandbox420.5msSupersededmeasured 2026-08-07n=100sourcelast sequential run (2026-08-07; mode retired)
E2B452.7msSupersededmeasured 2026-08-07n=100sourcemedian of per-run medians (130 runs)
Modal457.6msSupersededmeasured 2026-07-17n=100sourcebest run (2026-07-17)
Blaxel536.2msSupersededmeasured 2026-08-07n=100sourcemedian of per-run medians (130 runs)
Modal548.9msSupersededmeasured 2026-08-07n=100sourcelast sequential run (2026-08-07; mode retired)
E2B575.5msSupersededmeasured 2026-08-07n=100sourcelast sequential run (2026-08-07; mode retired)
Vercel Sandbox577.3msSupersededmeasured 2026-08-07n=100sourcemedian of per-run medians (128 runs)
Daytona988.1msSupersededmeasured 2026-08-07n=100sourcelast sequential run (2026-08-07; mode retired)
Cloudflare Sandbox1,364.3msSupersededmeasured 2026-05-06n=100sourcebest run (2026-05-06)
Modal1,467.2msSupersededmeasured 2026-08-07n=100sourcemedian of per-run medians (126 runs)
Cloudflare Sandbox1,728msSupersededmeasured 2026-08-07n=100sourcemedian of per-run medians (115 runs)
Cloudflare Sandbox2,000.5msSupersededmeasured 2026-08-07n=100sourcelast sequential run (2026-08-07; mode retired)

sandbox start (300 starts)

client side · client, location not stated · ms · ascending (lower is better)

Competitor-runp50 · by Lizard (sells a competing sandbox) · one Railway container in us-east4 · measured 2026-10-12none recorded beyond the metric and vantage (fact-check research-sandbox.md F.2 row 12)
WhoValueProvenance and conditions
Lizard228msn=300source
E2B264msn=300source
Daytona819msn=300source
Modal929msn=300source

create; resume to first command

client side · client, location not stated · ms · ascending (lower is better)

Independentcreate · by LogRocket (Ikeh Akinyemi) · not disclosed · published 2026-08-04none recorded beyond the metric and vantage (fact-check research-sandbox.md F.2 row 11)
WhoValueProvenance and conditions
E2B717msn not statedsource
Daytona742msn not statedsource
Vercel Sandbox1,852msn not statedsource
Modal2,437msn not statedsource
Blaxel2,824msn not statedsource
34 more cited numbers for sandboxes

Published by vendors and third parties, each measured its own way. They are listed for reference and not compared with each other or with B3OS.

WhoValueWhat, provenance and conditions
zeroboot0.79mstemplate fork primitiveVendor claimp50by zeroboot (prototype)same hostserver sideretrieved 2026-10-25n not statedsource
Unikraft10msadvertised start time (marketing, no method)Vendor claimmaxby Unikraftnone statedclient sideretrieved 2026-10-25n not statedsource
Vercel Sandbox0.3408USD/hprice of 2 vCPU / 4 GiB for one hourVendor claim100% CPUby Vercel Sandboxlist priceclient sideretrieved 2026-10-25n not statedsource
Northflank0.0667USD/hprice of 2 vCPU / 4 GiB for one hourVendor claim100% CPUby Northflanklist priceclient sideretrieved 2026-10-25n not statedsource
Modal0.2379USD/hprice of 2 vCPU / 4 GiB for one hourVendor claim100% CPUby Modallist priceclient sideretrieved 2026-10-25n not statedsource
Lizard0.0162USD/hprice of 2 vCPU / 4 GiB for one hourVendor claim100% CPUby Lizardlist priceclient sideretrieved 2026-10-25n not statedsource
E2B0.1656USD/hprice of 2 vCPU / 4 GiB for one hourVendor claim100% CPUby E2Blist priceclient sideretrieved 2026-10-25n not statedsource
Daytona0.1656USD/hprice of 2 vCPU / 4 GiB for one hourVendor claim100% CPUby Daytonalist priceclient sideretrieved 2026-10-25n not statedsource
Cloudflare Containers0.198–0.22USD/hprice of 2 vCPU / 4 GiB for one hourVendor claim100% CPUby Cloudflare Containerslist priceclient sideretrieved 2026-10-25n not statedsource
boxd0.039EUR/vCPU-hboxd EU rate cardVendor claimlistby boxdlist priceclient sideretrieved 2026-10-25n not statedsource
Blaxel0.1656USD/hprice of 2 vCPU / 4 GiB for one hourVendor claim100% CPUby Blaxellist priceclient sideretrieved 2026-10-25n not statedsource
AWS Bedrock AgentCore Code Interpreter0.056USD/hprice of 2 vCPU / 4 GiB for one hourVendor claim10% CPUby AWS Bedrock AgentCore Code Interpreterlist priceclient sideretrieved 2026-10-25n not statedsource
OpenAI (containers)0.03USD/20 mincontainer price per 20-minute sessionVendor claim1 GBby OpenAIlist priceclient sideretrieved 2026-10-25n not statedsource
Anthropic (code execution tool)0.05USD/container-hourcode execution container priceVendor claimafter 1,550 free hours/monthby Anthropiclist priceclient sideretrieved 2026-10-25n not statedsource
Perplexity SPACE60mssandbox creationVendor claimp50by Perplexityproduction, server-side, identical traffic vs an unnamed previous providerserver sideretrieved 2026-10-25n not statedsource
Vercel Sandbox10,000concurrentconcurrency and creation limitsVendor claimProby Vercel Sandboxdocumented limitsclient sideretrieved 2026-10-25n not statedsource
Modal5,000containersconcurrency and creation limitsVendor claimTeamby Modaldocumented limitsclient sideretrieved 2026-10-25n not statedsource
E2B1,100concurrentconcurrency and creation limitsVendor claimPro maxby E2Bdocumented limitsclient sideretrieved 2026-10-25n not statedsource
Cloudflare Containers1,500vCPUconcurrency and creation limitsVendor claimaccount defaultby Cloudflare Containersdocumented limitsclient sideretrieved 2026-10-25n not statedsource
boxd50machinesconcurrency and creation limitsVendor claimper org defaultby boxddocumented limitsclient sideretrieved 2026-10-25n not statedsource
Blaxel100,000concurrentconcurrency and creation limitsVendor claimTier 9by Blaxeldocumented limitsclient sideretrieved 2026-10-25n not statedsource
Freestyle65msadvertised start time (marketing, no method)Vendor claimmaxby Freestylenone statedclient sideretrieved 2026-10-25n not statedsource
Firecracker125msboot to /sbin/init; VMM start; VMM memoryVendor claimboot maxby Firecracker projectm5d.metal (HT off), m6g.metalserver sideretrieved 2026-10-25n not statedsource
Daytona90msadvertised start time (marketing, no method)Vendor claimmaxby Daytonanone statedclient sideretrieved 2026-10-25n not statedsource
Cloudflare5.387scontainers started by one accountVendor claim100,000 containersby Cloudflare (preliminary test)six locationsserver sideretrieved 2026-10-25n not statedsource
boxd5mscreation to running, median (279,577 machines)Vendor claimp50by boxdserver-side (production, Moyai)server sideretrieved 2026-10-25n not statedsource
Blaxel25msresume from standbyVendor claimmaxby Blaxelserver-sideserver sideretrieved 2026-10-25n not statedsource
AWS Lambda MicroVMs4.04slaunch to RUNNING; first response; suspended-VM task; warm taskIndependentlaunchby AWS Hero practitioner who built the tooling he evaluatesAWS us-east-1client sidemeasured 2026-10-08n=20source
DeltaBox10.83mscheckpoint work (hidden under inference); rollback; forkVendor claimcheckpointby DeltaBox authors (SJTU, Huawei)authors' own evaluationserver sidepublished 2026-06-08n not statedsource
CubeSandbox21.5–25.7MBhost memory per VM, amortizedVendor claim100 to 1,000 VMsby Tencent (CubeSandbox 2026-06-01 perf report)same hostserver sidepublished 2026-06-01n not statedsource
CubeSandbox47.8mscreate, serial (2 vCPU / 2 GiB)Vendor claimmeanby Tencent (CubeSandbox 2026-06-01 perf report)same host, bare metal BMI5 (Xeon 8255C, 96 threads), POST /sandboxes to runningclient sidepublished 2026-06-01n not statedsource
CubeSandbox276.1mscreate at 50 concurrentVendor claimmeanby Tencent (CubeSandbox 2026-06-01 perf report)same host, bare metalclient sidepublished 2026-06-01n not statedsource
CubeSandbox98.1mscreate at 20 concurrentVendor claimmeanby Tencent (CubeSandbox 2026-06-01 perf report)same host, bare metalclient sidepublished 2026-06-01n not statedsource
CubeSandbox88.7mscreate at 10 concurrentVendor claimmeanby Tencent (CubeSandbox 2026-06-01 perf report)same host, bare metalclient sidepublished 2026-06-01n not statedsource

routines

Measuring

Pure step dispatch

Dispatch of steps with no side effects in an ephemeral run, 1 KB payloads.

Measuringp50, server side

Pure step dispatch, p99

The same at the 99th percentile.

Measuringp99, server side

Action call from a step

A routine step calling a pack action in-process, upstream excluded, 1 KB payloads.

Measuringp50, server side

Durable step, standard

An effect step with standard durability, journal commit included.

Measuringp50, server side

Durable step, strict

An effect step with strict durability: an intent commit and a result commit.

Measuringp50, server side

Webhook to first step

From a hook delivery received to the first step started.

Measuringp50, server side

Cron lateness

How late a per-second cron starts its runs: start time minus scheduled time.

Measuringp99, server side

Pure step throughput

Pure steps completed per second across concurrent ephemeral runs.

Measuringthroughput, server side

Durable record throughput

Standard-durability effect records journaled per second, records up to 256 B.

Measuringthroughput, server side

What others publish

Each table holds numbers measured the same way, from the same side and kind of vantage point, best first. B3OS joins a table only with a number measured that way too.

delay of scheduled invocations

client side · client, location not stated · s · ascending (lower is better)

WhoValueProvenance and conditions
AWS EventBridge Scheduler0–50sIndependentSupersededspreadby Serverless By Theodo (consultancy independent of AWS)10,000 samplespublished 2022-12-01n=10,000sourcenone recorded beyond the metric and vantage (fact-check research-routines.md F.2 row 14)

40 lightweight tasks, total

client side · vendor figure, method not stated · s · ascending (lower is better)

WhoValueProvenance and conditions
workflow engines1.222sCompetitor-runHatchetby Windmill (benchmarking competitors)m4.large, docker-composemeasured 2025n not statedsourcenone recorded beyond the metric and vantage (fact-check research-routines.md A11)

single durable step, median

client side · vendor figure, method not stated · ms · ascending (lower is better)

WhoValueProvenance and conditions
Restate3msVendor claimp50 low loadby Restate3-node, 3-way replicated c6id.8xlarge clusterpublished 2025-02-20n not statedsource9-step workflow p50 31 ms (low) / 116 ms (high), p99 163 ms
Diagrid Catalyst (managed Dapr Workflows)25msVendor claimp50 5 activitiesby Diagridclient-measured, schedule call to terminal state; 3 × m7i.2xlarge + Postgresupdated 2026-10-14n not statedsource10 workflows/s warm; ~2.6 ms per activity amortized ((25 − 12) / 5, a model)
Hatchet25msVendor claimp95by Hatchethot workersretrieved 2026-10-25n not statedsourcenone recorded beyond the metric and vantage (fact-check research-routines.md F.1 item 8, F.2 row 8)
AWS Lambda durable functions41msVendor claimp50 Pythonby AWS (durable-execution SDK maintainers)Lambda us-east-1, 1024 MB, warm, single runspublished 2026-09-15n=1,000sourcenone recorded beyond the metric and vantage (fact-check research-routines.md F.1 item 4)
Temporal50msVendor claimper activity (approx)by TemporalTemporal Cloud (approximate)retrieved 2026-10-25n not statedsourcenone recorded beyond the metric and vantage (fact-check research-routines.md F.2 row 5)
AWS Step Functions (Standard)201msCompetitor-runSupersededsingleby DBOS (measuring a competitor)not statedpublished 2024-06-10n not statedsourcenone recorded beyond the metric and vantage (fact-check research-routines.md F.2 row 9)

0-step workflow

client side · vendor figure, method not stated · ms · ascending (lower is better)

WhoValueProvenance and conditions
Restate5msVendor claimp50 low loadby Restate3-node clusterpublished 2025-02-20n not statedsourcenone recorded beyond the metric and vantage (fact-check research-routines.md F.3)

StartWorkflowExecution API latency

server side · server side, as the provider reports it · ms · ascending (lower is better)

WhoValueProvenance and conditions
Temporal Cloud20msVendor claimp50by TemporalTemporal Cloud API request latency, week-long windowmeasured 2026-08n not statedsourceJan 2026: 14 / 21 / 69 ms; StartActivityExecution 13 / 19 / 45; Signal 19 / 42 / 91; p99 SLO 200 ms

eager workflow start (illustrative)

client side · client in the provider's region · ms · ascending (lower is better)

WhoValueProvenance and conditions
Temporal16.7msVendor claimp50by Temporalstarter and worker in the namespace's AWS regionpublished 2024-04-29n not statedsourcevs 29.3 / 51.6 ms without eager start

workflow executions per second, one instance

server side · vendor figure, method not stated · ascending (lower is better)

Vendor claim
WhoValueProvenance and conditions
n8n220executions/ssingle instanceby n8nc5a.large, webhook + Edit Fields noderetrieved 2026-10-25n not statedsourcenone recorded beyond the metric and vantage (fact-check research-routines.md A15)
Diagrid Catalyst530workflows/ssustainedby Diagrid3 × m7i.2xlarge + one m7i.2xlarge Postgresupdated 2026-10-14n not statedsourcenone recorded beyond the metric and vantage (fact-check research-routines.md F.1 item 5)
DBOS43,000workflows/sdirectby DBOSone db.m7i.24xlarge (96 vCPU, 120K IOPS io2)published 2026-04-23n not statedsourceno latency figures
Restate94,286actions/sclusterby Restate3-node, 3-way replicated cluster (3 × 32 vCPU)published 2025-02-20n not statedsourcenone recorded beyond the metric and vantage (fact-check research-routines.md F.1 item 2)

webhook-triggered 2-task flow at 1,000 executions/min

client side · vendor figure, method not stated · ms · ascending (lower is better)

Vendor claimretrieved 2026-10-25
WhoValueProvenance and conditions
Kestra 2.0 EE50msmeanby Kestran2-standard-4; Kestra 2.0.0 EE (RabbitMQ + Postgres)n not statedsourcep99 ≤107 ms up to 7,000/min; OSS: 115 ms mean, 151 ms p99 at 1,000/min, collapses at 5,000/min
Activepieces163msp50by Activepiecesnot stated by the sourcen not statedsourcesync webhook ~0.2 s warm / ~2 s cold; ~0.5 s with every worker busy; 160 workers: p50 180 / p99 652 ms; the page gives no hardware or date
10 more cited numbers for routines

Published by vendors and third parties, each measured its own way. They are listed for reference and not compared with each other or with B3OS.

WhoValueWhat, provenance and conditions
Vercel Workflows60USD/1M stepsprice per 1M workflow stepsVendor claimapprox (3 events per step at $0.02/1K events)by Vercel Workflowslist priceclient sideretrieved 2026-10-25n not statedsource
Temporal Cloud25–50USD/1M actionsprice per 1M workflow stepsVendor claimself-serveby Temporal Cloudlist priceclient sideretrieved 2026-10-25n not statedsource
AWS Step Functions25USD/1M transitionsprice per 1M workflow stepsVendor claimStandardby AWS Step Functionslist priceclient sideretrieved 2026-10-25n not statedsource
Restate Cloud10–25USD/1M actionsprice per 1M workflow stepsVendor claimtieredby Restate Cloudlist priceclient sideretrieved 2026-10-25n not statedsource
AWS Lambda durable functions8USD/1M operationsprice per 1M workflow stepsVendor claimlistby AWS Lambda durable functionslist priceclient sideretrieved 2026-10-25n not statedsource
Inngest15–50USD/1M executionsprice per 1M workflow stepsVendor claimtieredby Inngestlist priceclient sideretrieved 2026-10-25n not statedsource
Hatchet30USD/1M runsprice per 1M workflow stepsVendor claimafter 1M freeby Hatchetlist priceclient sideretrieved 2026-10-25n not statedsource
Google Cloud Workflows10USD/1M stepsprice per 1M workflow stepsVendor claiminternalby Google Cloud Workflowslist priceclient sideretrieved 2026-10-25n not statedsource
DBOS40–50USD/1M checkpointsprice per 1M workflow stepsVendor claimTeams / Pro overageby DBOSlist priceclient sideretrieved 2026-10-25n not statedsource
Cloudflare Workflows8USD/1M stepsprice per 1M workflow stepsVendor claimafter 500Kby Cloudflare Workflowslist priceclient sideretrieved 2026-10-25n not statedsource

actions

Measuring

Declarative action overhead

Time added by the action runtime, upstream excluded, for responses up to 16 KB.

Measuringp50, server side

Input validation

JSON Schema validation of an action's input.

Measuringp50, server side

JavaScript action overhead

Warm overhead of a first-party JavaScript action.

Measuringp50, server side

T0 call total minus upstream, per MiB of upstream response, for responses over 16 KB

Measuringp50, server side
3 more cited numbers for actions

Published by vendors and third parties, each measured its own way. They are listed for reference and not compared with each other or with B3OS.

WhoValueWhat, provenance and conditions
Zapier MCP3.4–5.1USD/1K callstool-call price per 1,000 callsVendor claim2M-task tier, annual to monthlyby Zapier MCPlist priceclient sideretrieved 2026-10-25n not statedsource
Composio0.3USD/1K callstool-call price per 1,000 callsVendor claimProby Composiolist priceclient sideretrieved 2026-10-25n not statedsource
Arcade10USD/1K callstool-call price per 1,000 callsVendor claimTeam ($0.01/call)by Arcadelist priceclient sideretrieved 2026-10-25n not statedsource

infer

Measuring

Time to first token

Streamed chat completion on the co-located model, with B3OS idle and at budgeted load.

Measuringp50, client side

Time per output token

The same stream, per output token.

Measuringp50, client side

What others publish

Each table holds numbers measured the same way, from the same side and kind of vantage point, best first. B3OS joins a table only with a number measured that way too.

LLM time to first token (median / P95) as reported by the guide

client side · vendor figure, method not stated · ms · ascending (lower is better)

Vendor claimp50 · by Daily (voiceaiandvoiceagents.com guide; Daily sells voice infrastructure) · not stated · updated 2026-06Rule of thumb in the guide: "600 ms or less is fast enough".
WhoValueProvenance and conditions
OpenAI (GPT-4.1)536msn not statedsource
NVIDIA (self-hosted) (Nemotron 3 Ultra)541msn not statedsource
Google (Gemini 2.5 Flash)597msn not statedsource
Anthropic (Claude 4.5 Haiku)637msn not statedsource
OpenAI (GPT-5.1)739msn not statedsource

time to first audio (vendor)

server side · server side, as the provider reports it · ms · ascending (lower is better)

Vendor claimserver-side (vendor) · retrieved 2026-10-25
WhoValueProvenance and conditions
Inworld (TTS-2 Flash)20msp90by Inworldn not statedsourceP90 time to first audio byte, server-side, excludes network
ElevenLabs (Flash v2.5)75msapproxby ElevenLabsn not statedsourceexcluding application and network latency
Cartesia (Sonic 3.6)90msmaxby Cartesian not statedsource"first audio in under 90ms", no conditions stated

time to first audio, median of 50 sequential live streaming trials

client side · client, location not stated · ms · ascending (lower is better)

Independentp50 · by Vapi Humanness Index (Vapi is a voice platform, not a TTS vendor) · client, network RTT includednone recorded beyond the metric and vantage (fact-check research-render.md A17, B9)
WhoValueProvenance and conditions
Cartesia (Sonic 3.5)128msretrieved 2026-10-25n=50source
Fish Audio (S2.1-Pro)141msmeasured 2026-07n=50source
Cartesia (Sonic 2)159msmeasured 2026-06n=50source
Cartesia (Sonic 3)166msmeasured 2026-06n=50source
ElevenLabs (Flash v2.5)197msmeasured 2026-06n=50source
10 more cited numbers for infer

Published by vendors and third parties, each measured its own way. They are listed for reference and not compared with each other or with B3OS.

WhoValueWhat, provenance and conditions
Inworld12.5–25USD/1M charsTTS price per 1M charactersVendor claimTTS-2, list price by planby Inworldlist priceclient sideretrieved 2026-10-25n not statedsource
ElevenLabs0.04USD/1k charsTTS price per 1,000 charactersVendor claimFlash/Turbo v2.5, v4 Turboby ElevenLabslist priceclient sideretrieved 2026-10-25n not statedsource
RunPod5.93USD/hH200 per hourVendor claimserverlessby RunPodlist priceclient sideretrieved 2026-10-25n not statedsource
RunPod3.59USD/hH200 per hourVendor claimon-demand pod (Community); Secure $5.29by RunPodlist priceclient sideretrieved 2026-10-25n not statedsource
Modal4.54USD/hH200 per hourVendor claimserverless ($0.001261/s)by Modallist priceclient sideretrieved 2026-10-25n not statedsource
Daytona2.61USD/hH200 per hourVendor claimpreemptibleby Daytonalist priceclient sideretrieved 2026-10-25n not statedsource
Fish Audio (Drama 3 (open weights))88.9mstime to first audio on one H200Vendor claimp50 c=1by Fish Audioone H200, SGLang-Omni, voice-clone streamingserver sideretrieved 2026-10-25n not statedsource
TTS models1,335EloTTS arena EloIndependentEleven v4 Turbo (CI 1318-1352)by Artificial Analysis (crowd votes)not applicable (quality score)server sideretrieved 2026-10-25n not statedsource
Kyutai (TTS 1.6B)150mstime to first audio at batch 1; realtime factor at batch 64Vendor claimbatch 1 (computed)by Kyutaione H100, computed from per-step compute timeserver sidepublished 2025-09n not statedsource
Kokoro (hosted by Replicate, DeepInfra)0.65–0.99USD/1M charshosted Kokoro price per 1M charactersVendor claimlistby Kokoro (hosted by Replicate, DeepInfra)list priceclient sidepublished 2025-04n not statedsource

Platform

Under every product

The HTTP floor is a round trip to a scaffold route on b3osd as the harness sees it: the error bar under every client-side number on this page.

HTTP floor

A round trip to a scaffold route on b3osd as the harness sees it: the floor under every client-side number.

p50150.729us

Least favorable of 12 counted runsMeasuredp50, median of 5 runsbest run 111.949 ussame-host, same NUMA node (harness 20-23, b3osd 16-19,80-83)client sideOct 26, 2026n=100,000raw dataresult fileConfiguration: tcp + node-token, same-node (NUMA), back-to-back, concurrency 1; path=/v1/vision, auth=true, response=scaffold JSON (~50 B), max_sockets=1024Not measured yet: mixed load

Back to back4 runs

HTTP floor, back to back
RunValueStat, sample and data
UDS, same NUMA nodeuds, same-node (NUMA), back-to-back, concurrency 1; path=/v1/vision, auth=true, response=scaffold JSON (~50 B), max_sockets=102449.25usMeasuredp50, median of 5 runsbest run 41.019 (p95 51.079, p99 56.438) usclient sideOct 26, 2026n=100,000raw dataresult fileSame run: Server-Timing total 7 us · client round trip minus server total 42.109 us
TCP, same NUMA nodetcp without a credential, same-node (NUMA), back-to-back, concurrency 1; path=/v1/vision, auth=true, response=scaffold JSON (~50 B), max_sockets=102447.81usMeasuredp50, median of 5 runsbest run 47.05 (p95 50.69, p99 53.87) usclient sideOct 26, 2026n=100,000raw dataresult fileSame run: Server-Timing total 7 us · client round trip minus server total 40.74 us
TCP + node token, same NUMA nodeHeadlinetcp + node-token, same-node (NUMA), back-to-back, concurrency 1; path=/v1/vision, auth=true, response=scaffold JSON (~50 B), max_sockets=1024150.729usMeasuredp50, median of 5 runsbest run 111.949 (p95 118.479, p99 123.249) usclient sideOct 26, 2026n=100,000raw dataresult fileSame run: Server-Timing total 79 us · client round trip minus server total 71.588 us
UDS, cross NUMA nodeuds, cross-node (NUMA), back-to-back, concurrency 1; path=/v1/vision, auth=true, response=scaffold JSON (~50 B), max_sockets=102444.819usMeasuredp50, median of 5 runsbest run 44.619 (p95 48.659, p99 57.16) usclient sideOct 26, 2026n=100,000raw dataresult fileSame run: Server-Timing total 7 us · client round trip minus server total 37.719 us

Idle gaps of 100 ms3 runs

HTTP floor, idle gaps of 100 ms
RunValueStat, sample and data
UDS, same NUMA nodeuds, same-node (NUMA), idle gaps of 100 ms, one at a time; path=/v1/vision, auth=true, response=scaffold JSON (~50 B), max_sockets=102487.5usMeasuredp50, median of 5 runsbest run 87.024 (p95 131.723, p99 282.051) usclient sideOct 26, 2026n=1,000raw dataresult fileSame run: Server-Timing total 7 us · client round trip minus server total 78.218 us
TCP, same NUMA nodetcp without a credential, same-node (NUMA), idle gaps of 100 ms, one at a time; path=/v1/vision, auth=true, response=scaffold JSON (~50 B), max_sockets=1024109.385usMeasuredp50, median of 5 runsbest run 108.291 (p95 145.883, p99 189.499) usclient sideOct 26, 2026n=1,000raw dataresult fileSame run: Server-Timing total 7 us · client round trip minus server total 100.02 us
TCP + node token, same NUMA nodetcp + node-token, same-node (NUMA), idle gaps of 100 ms, one at a time; path=/v1/vision, auth=true, response=scaffold JSON (~50 B), max_sockets=1024189.732usMeasuredp50, median of 5 runsbest run 186.16 (p95 230.662, p99 290.364) usclient sideOct 26, 2026n=1,000raw dataresult fileSame run: Server-Timing total 79 us · client round trip minus server total 107.298 us

Idle gaps of 3 s3 runs

HTTP floor, idle gaps of 3 s
RunValueStat, sample and data
UDS, same NUMA nodeuds, same-node (NUMA), idle gaps of 3 s, one at a time; path=/v1/vision, auth=true, response=scaffold JSON (~50 B), max_sockets=1024394.238usMeasuredp50, median of 5 runsbest run 385.17 (p95 722.088, p99 722.088) usclient sideOct 26, 2026n=50raw dataresult fileSame run: Server-Timing total 20 us · client round trip minus server total 350.472 us
TCP, same NUMA nodetcp without a credential, same-node (NUMA), idle gaps of 3 s, one at a time; path=/v1/vision, auth=true, response=scaffold JSON (~50 B), max_sockets=1024430.844usMeasuredp50, median of 5 runsbest run 380.632 (p95 574.787, p99 574.787) usclient sideOct 26, 2026n=50raw dataresult fileSame run: Server-Timing total 22 us · client round trip minus server total 403.107 us
TCP + node token, same NUMA nodetcp + node-token, same-node (NUMA), idle gaps of 3 s, one at a time; path=/v1/vision, auth=true, response=scaffold JSON (~50 B), max_sockets=1024509.83usMeasuredp50, median of 5 runsbest run 341.967 (p95 1,149.926, p99 1,149.926) usclient sideOct 26, 2026n=50raw dataresult fileSame run: Server-Timing total 81 us · client round trip minus server total 422.194 us

Open loop2 runs

HTTP floor, open loop
RunValueStat, sample and data
UDS, same NUMA nodeuds, same-node (NUMA), open loop, constant arrivals at 2000/s; path=/v1/vision, auth=true, response=scaffold JSON (~50 B), max_sockets=102440.868usMeasuredp50, median of 5 runsbest run 40.615 (p95 43.174, p99 51.409) usclient sideOct 26, 2026n=100,000raw dataresult fileSame run: Server-Timing total 7 us · client round trip minus server total 33.11 us
TCP, same NUMA nodetcp without a credential, same-node (NUMA), open loop, constant arrivals at 2000/s; path=/v1/vision, auth=true, response=scaffold JSON (~50 B), max_sockets=102449.276usMeasuredp50, median of 5 runsbest run 49.21 (p95 52.355, p99 64.777) usclient sideOct 26, 2026n=100,000raw dataresult fileSame run: Server-Timing total 7 us · client round trip minus server total 41.62 us

connections (vault)

3 more cited numbers for connections (vault)

Published by vendors and third parties, each measured its own way. They are listed for reference and not compared with each other or with B3OS.

WhoValueWhat, provenance and conditions
Vercel Connect3USD/1K token requeststoken vault price per 1,000 requestsVendor claimProby Vercel Connectlist priceclient sideretrieved 2026-10-25n not statedsource
Infisical2USD/1K brokered requeststoken vault price per 1,000 requestsVendor claimafter 5,000 free/monthby Infisicallist priceclient sideretrieved 2026-10-25n not statedsource
AWS Bedrock AgentCore Identity0.01USD/1K token or key requeststoken vault price per 1,000 requestsVendor claimlistby AWS Bedrock AgentCore Identitylist priceclient sideretrieved 2026-10-25n not statedsource

Method

How we measure

Provenance on every number

Measured (ours, with raw data), vendor claim, independent, competitor-run or affiliated. Each number also carries its vantage, side, date, sample count and a raw-data link.

Server side means the whole request

Server-side numbers run from the first request byte to the last response byte on the node. Client-side numbers are labeled client side.

Open-loop load

Load generators send at a constant arrival rate and time each request from when it should have been sent, so queueing shows up in the results.

Three regimes

Back to back, with idle gaps of 100 ms and 3 s, and under mixed load with B3IQ inference running.

Locked runs only

Published runs hold the bench lock and record the active services, load average, versions and commit. Anything else is a dev run and stays off this site.

Five runs or more

We publish the median of run medians and the best run, with the sample count.

Like for like

Competitors are measured the way their own benchmarks measure them. Same-host numbers never sit in a row beside client-measured competitor numbers.

Baselines are not results

Before any product code existed we measured the node's floors: microVM restore, browser spawn, disk sync, frame capture. Those runs did not hold the bench lock, so they shaped the design and stay off this page.