MASAKA

JET BROWSER · RUNTIME REPORT 01

a small browser boundary,
measured honestly.

Architecture, reproducible container runtime measurements, exact source pins, environment normalizations, and the limits of what these numbers establish.

captured
2026-10-07
runs
1 warm-up + 7 measured
host
isolated Linux x86_64
license
Apache-2.0

01abstract

Jet Browser is a self-contained WPE WebKit runtime for agent harnesses. Its standalone contract is deliberately narrow: one isolated browser session per container, ordered JSON commands on standard input, and machine-readable results on standard output. It does not require MASAKA identity, billing, scheduling, or a hosted control plane.

On one pinned offline fixture and one host, Jet recorded the lowest median time to a verified browser page and the lowest active container-memory snapshot among four measured self-hosted runtime images. Those results describe cold runtime cost under this method; they do not establish end-to-end agent quality or public-site compatibility.

02runtime boundary

agent / harnessJSONLRust bridgeWebDriverWPE WebKit
ExecutionOne browser session per standalone container
ProtocolVersioned JSONL commands over stdin/stdout
BrowserWPE WebKit 2.54 on headless Wayland
IncludedNavigation, state, bounded script, screenshot, native input, tabs, file selection
Application-ownedAgent loop, identity, credits, scheduling, profiles, artifacts, live view, human takeover

03benchmark method

The comparison starts each warmed local image with the same Docker limits and a container-local fixture. Ready time begins at docker start and ends only after the title and DOM marker are verified. The same sample then verifies JavaScript execution and a non-empty screenshot; active working-set memory is sampled while that verified page remains open.

task
offline fixture: title + DOM + script + screenshot
resources
2 CPU · 1 GiB · 256 MiB shm · 512 pids
viewport
1280 × 800
concurrency
1
run order
Jet → Browser Use → Steel → Browserless
system
Linux 7.0.0-28 · Xeon Gold 6538Y+ · Docker 29.5.3

All 28 measured samples passed their title, DOM, JavaScript, and screenshot checks. A failed or unverified sample would not be reported as a successful timing.

04results

Jet Browser runtime benchmark chart comparing browser-ready time and active container memory.
Median of seven measured samples. Lower is better. Read the limitations before comparing these numbers outside this fixture.
RuntimePassedReady medianActive memory median
Jet Browser7 / 71,445.25 ms189.6 MiB
Browser Use7 / 76,374.59 ms283.8 MiB
Steel Browser7 / 78,490.13 ms424.9 MiB
Browserless7 / 75,292.05 ms402.2 MiB

Bounded conclusion. Relative to the next result in each column, Jet used 72.7% less ready time and 33.2% less active memory on this host and task.

05environment normalizations

Normalizations were limited to making a pinned upstream image runnable on this host without changing its browser implementation or timed task.

  • Browser Use: a permission-only overlay restores read/traverse access to its ACL-built /app tree; its declared /data scratch volume uses a 64 MiB tmpfs because the host driver cannot set POSIX ACL xattrs. Startup temporarily normalizes root traversal, then returns to the image's default browseruse user. Default extensions are disabled for the offline fixture.
  • Browserless: startup normalizes OCI root traversal, then returns to the image's default blessuser.
  • Steel: the runner uses the official /v1/sessions boundary and the returned browser WebSocket.
  • Jet: the pinned repository builds its standalone image and uses the same JSONL runtime boundary documented for users.

06pinned sources

RuntimeVersion / commitLicenseImage digest
Jet Browserafcb22bf2a1ad75d76da88475d0db1f7ebc9e5c7Apache-2.0ae9b473c26e39291…
Browser Use 0.13.11914c59bdd4acd50e9628a97a96a3919313aebc85MIT24ec14760d250b1f…
Steel 0.5.31131a0222a27f391bf8f27cca6f278ddf7ace8ddApache-2.026be1193d1f200f6…
Browserless 2.57.0f7edf0f526e5fefa2db8abca22f47b32ac165c89SSPL / commercial6bac628b3d8293f8…
Stagehand 4.0.0fdd179582b6b1f9e43c3d18ad27917cf2e66631eMITnot measured

Stagehand is covered in the product comparison but excluded from the runtime chart because its extension plus hosted/model-backed action stack is not an equivalent standalone browser-runtime boundary.

07limitations

  • The fixture is local and offline. It does not measure public-site success, anti-bot behavior, proxy quality, or hosted network latency.
  • The comparison measures browser runtime, not model reasoning, token use, action accuracy, or the quality of an agent harness.
  • Jet uses WPE WebKit while the measured alternatives use Chromium. Extension support, site compatibility, and CDP-specific behavior require separate evaluation.
  • Memory is one active working-set snapshot, not peak RSS or a long-duration leak test.
  • Run order was fixed rather than randomized, concurrency was one, and the test does not establish fleet throughput.
  • The result is reproducible evidence for this boundary, not a universal performance ranking.

08reproduce

The public source repository contains the source lock, Dockerfiles, runner, chart generator, raw results, and tests that reject an unverified sample.

standalone verification
git clone https://github.com/masakaai/jet-browser.git
cd jet-browser
npm ci
npm run standalone
npm test