{
  "meta": {
    "tool_versions": {
      "obscura": "0.2.3",
      "agent-browser": "0.38.1"
    },
    "machine": "macOS Darwin",
    "date": "2026-09-22",
    "method": "median of N timed runs after 1 warmup; wall-clock via time.perf_counter; local fixture on 127.0.0.1:8765; obscura --allow-private-network; agent-browser named session bench-speed",
    "notes": [
      "cold = process/browser starts each run (agent-browser: close+open+get+close)",
      "warm = obscura still spawns a new process per fetch; agent-browser reuses running Chrome daemon",
      "batch5 scrape = all 5 URLs in one obscura process",
      "stealth = obscura --stealth (TLS/header/navigator fingerprint + tracker block); agent-browser has no stealth mode",
      "interactive5 = 5x (fill #name, click #submit, read #count) on same open page; agent-browser = warm Chrome daemon + CLI; obscura_cdp = warm obscura serve + raw CDP; obscura_fetch_eval = one fresh process doing all 5 rounds in one JS eval (stateless alternative)",
      "serve_cold_start = time until /json/version answers, then SIGTERM"
    ],
    "extended": "stealth + interactive click/fill loops added 2026-09-22"
  },
  "results": {
    "cold_local_obscura": {
      "n": 7,
      "median_ms": 21.0,
      "min_ms": 20.4,
      "max_ms": 22.5,
      "runs_ms": [
        22.5,
        20.4,
        21.5,
        21.4,
        21.0,
        20.5,
        20.8
      ]
    },
    "cold_local_agent_browser": {
      "n": 7,
      "median_ms": 970.7,
      "min_ms": 879.0,
      "max_ms": 1133.3,
      "runs_ms": [
        1133.3,
        1049.5,
        894.1,
        970.7,
        991.0,
        879.0,
        894.5
      ]
    },
    "warm_seq5_obscura": {
      "n": 5,
      "median_ms": 109.2,
      "min_ms": 101.3,
      "max_ms": 111.6,
      "runs_ms": [
        111.6,
        109.2,
        101.3,
        110.2,
        108.0
      ]
    },
    "warm_seq5_agent_browser": {
      "n": 5,
      "median_ms": 595.4,
      "min_ms": 587.3,
      "max_ms": 630.1,
      "runs_ms": [
        587.3,
        589.1,
        595.4,
        630.1,
        606.9
      ]
    },
    "batch5_obscura_scrape": {
      "n": 5,
      "median_ms": 26.1,
      "min_ms": 24.6,
      "max_ms": 28.3,
      "runs_ms": [
        25.5,
        26.1,
        28.3,
        27.3,
        24.6
      ]
    },
    "batch5_agent_browser": {
      "n": 5,
      "median_ms": 595.4,
      "min_ms": 587.3,
      "max_ms": 630.1,
      "runs_ms": [
        587.3,
        589.1,
        595.4,
        630.1,
        606.9
      ]
    },
    "screenshot_obscura": {
      "n": 5,
      "median_ms": 45.5,
      "min_ms": 45.5,
      "max_ms": 52.2,
      "runs_ms": [
        46.1,
        45.5,
        45.5,
        45.5,
        52.2
      ]
    },
    "screenshot_agent_browser": {
      "n": 5,
      "median_ms": 133.0,
      "min_ms": 124.8,
      "max_ms": 151.6,
      "runs_ms": [
        132.7,
        124.8,
        133.3,
        133.0,
        151.6
      ]
    },
    "cold_remote_obscura": {
      "n": 5,
      "median_ms": 71.1,
      "min_ms": 67.7,
      "max_ms": 72.2,
      "runs_ms": [
        71.1,
        68.5,
        67.7,
        71.4,
        72.2
      ]
    },
    "cold_remote_agent_browser": {
      "n": 5,
      "median_ms": 1027.6,
      "min_ms": 947.3,
      "max_ms": 1239.0,
      "runs_ms": [
        947.3,
        954.4,
        1093.1,
        1027.6,
        1239.0
      ]
    },
    "warm_remote3_obscura": {
      "n": 4,
      "median_ms": 886.9,
      "min_ms": 804.9,
      "max_ms": 1037.2,
      "runs_ms": [
        946.5,
        804.9,
        827.4,
        1037.2
      ]
    },
    "warm_remote3_agent_browser": {
      "n": 4,
      "median_ms": 448.2,
      "min_ms": 419.8,
      "max_ms": 524.1,
      "runs_ms": [
        460.1,
        419.8,
        436.3,
        524.1
      ]
    },
    "cold_remote_stealth_obscura": {
      "n": 5,
      "median_ms": 81.2,
      "min_ms": 76.2,
      "max_ms": 88.6,
      "runs_ms": [
        76.2,
        80.9,
        81.2,
        81.7,
        88.6
      ]
    },
    "warm_remote3_stealth_obscura": {
      "n": 4,
      "median_ms": 802.1,
      "min_ms": 771.2,
      "max_ms": 845.6,
      "runs_ms": [
        771.2,
        845.6,
        799.1,
        805.0
      ]
    },
    "batch3_remote_stealth_obscura": {
      "n": 4,
      "median_ms": 183.8,
      "min_ms": 176.4,
      "max_ms": 198.3,
      "runs_ms": [
        176.4,
        179.4,
        198.3,
        188.2
      ]
    },
    "cold_local_stealth_obscura": {
      "n": 5,
      "median_ms": 21.9,
      "min_ms": 21.6,
      "max_ms": 22.5,
      "runs_ms": [
        21.6,
        21.8,
        21.9,
        22.5,
        21.9
      ]
    },
    "interactive5_agent_browser": {
      "n": 5,
      "median_ms": 766.3,
      "min_ms": 759.2,
      "max_ms": 805.2,
      "runs_ms": [
        775.4,
        805.2,
        759.2,
        765.4,
        766.3
      ]
    },
    "interactive5_obscura_cdp": {
      "n": 5,
      "median_ms": 78.0,
      "min_ms": 77.7,
      "max_ms": 80.5,
      "runs_ms": [
        80.3,
        77.9,
        78.0,
        80.5,
        77.7
      ]
    },
    "interactive5_obscura_fetch_eval": {
      "n": 5,
      "median_ms": 18.9,
      "min_ms": 18.0,
      "max_ms": 19.4,
      "runs_ms": [
        18.0,
        18.8,
        19.4,
        18.9,
        19.1
      ]
    },
    "serve_cold_start_obscura": {
      "n": 5,
      "median_ms": 60.7,
      "min_ms": 58.5,
      "max_ms": 62.0,
      "runs_ms": [
        62.0,
        58.5,
        60.5,
        60.7,
        61.1
      ]
    }
  }
}