{
  "measured_on": "2026-10-04",
  "machine": "Apple M4",
  "toolchain": "rustc 1.97.1 (8bab26f4f 2026-07-14)",
  "profile": "release",
  "fixture_kind": "synthetic",
  "fixture_selection": "Ten preselected sizes, alternating tracker-heavy single ads and multi-ad pods. Padding uses a final XML comment to reach exact UTF-8 byte sizes.",
  "scenario": {
    "bids": 10,
    "auction_budget_ms": 100,
    "meaning": "Illustrative auction budget. Timings are an observed in-memory serial batch of 10 validations, not a complete auction."
  },
  "function": "vastlint_core::validate, including destruction of the returned result",
  "comparison": {
    "baseline": "v0.14.0 core source with parse.rs from v0.13.13",
    "candidate": "v0.14.0 core source",
    "source_files_changed": [
      "parse.rs"
    ],
    "baseline_parser_ref": "27175c1f2fbc43057a5a862b9719c2b68fd0bad0",
    "candidate_ref": "9fb7c54d671263718d92d7ae487de046b46b2bb0",
    "baseline_parser_sha256": "908d8a33ca0b58177a21bdbccd31a6586515c59b29e8d566fa0838cd3b52d935",
    "cursor_parser_sha256": "3a39ee8ec2f108d4c20e81bcea585b62b14b72314c6c0bc2292f70c139400f16"
  },
  "method": {
    "warmups_per_document_per_build": 3,
    "batch_passes_per_build": 21,
    "order": "Alternating which build runs first on each pass. Each batch validates all ten fixtures serially in filename order.",
    "headline_statistic": "Median of the 21 complete batch timings, measured separately for each build.",
    "per_document_statistic": "Median of per-document times collected inside the batch runs.",
    "same_process": true,
    "allocator": "System default",
    "correctness": "Sorted rule ID, path, line, column, severity rows and summary counts matched on all ten fixtures."
  },
  "byte_range": [
    58000,
    100000
  ],
  "average_bytes": 78000.0,
  "batch": {
    "passes": 21,
    "baseline_ms": {
      "min": 166.44975,
      "median": 168.26225,
      "max": 205.615125
    },
    "cursor_ms": {
      "min": 11.5805,
      "median": 11.817167,
      "max": 25.634
    }
  },
  "headline": {
    "baseline_ms": 168.26225,
    "cursor_ms": 11.817167,
    "speedup": 14.238797674603397,
    "baseline_budget_percent": 168.26225,
    "cursor_budget_percent": 11.817167,
    "baseline_over_deadline_ms": 68.26225,
    "remaining_budget_ms": 88.182833,
    "average_per_tag_baseline_ms": 16.826225,
    "average_per_tag_cursor_ms": 1.1817167,
    "average_per_tag_method": "Median of full serial batch timings divided by ten. This is an average over the fixture mix, not the median timing of an individual fixture."
  },
  "limitations": [
    "Generated ad pods and tracker-heavy tags are not a representative production tag distribution.",
    "No network fetching, wrapper traversal, service transport, binding overhead, concurrent load, or end-to-end auction is measured.",
    "Size alone does not predict validation cost; element density and structure matter.",
    "The 2026-10-03 stored-tag and stress-test timings use rustc 1.91.1 and are separate from this new paired benchmark."
  ],
  "documents": [
    {
      "file": "01-58kb-trackers.xml",
      "bytes": 58000,
      "findings": 4,
      "errors": 2,
      "warnings": 0,
      "infos": 2,
      "five_field_findings_equal": true,
      "baseline_ms": {
        "min": 6.000291,
        "median": 6.029917,
        "max": 8.860209
      },
      "cursor_ms": {
        "min": 0.594958,
        "median": 0.622083,
        "max": 0.794667
      },
      "speedup": 9.693106868376084
    },
    {
      "file": "02-62kb-pod.xml",
      "bytes": 62000,
      "findings": 735,
      "errors": 294,
      "warnings": 147,
      "infos": 294,
      "five_field_findings_equal": true,
      "baseline_ms": {
        "min": 13.599667,
        "median": 13.702417,
        "max": 19.766917
      },
      "cursor_ms": {
        "min": 1.184708,
        "median": 1.208208,
        "max": 1.615833
      },
      "speedup": 11.34110765695973
    },
    {
      "file": "03-66kb-trackers.xml",
      "bytes": 66000,
      "findings": 4,
      "errors": 2,
      "warnings": 0,
      "infos": 2,
      "five_field_findings_equal": true,
      "baseline_ms": {
        "min": 7.664209,
        "median": 7.719375,
        "max": 14.234167
      },
      "cursor_ms": {
        "min": 0.676708,
        "median": 0.691917,
        "max": 0.809333
      },
      "speedup": 11.15650432060493
    },
    {
      "file": "04-72kb-pod.xml",
      "bytes": 72000,
      "findings": 855,
      "errors": 342,
      "warnings": 171,
      "infos": 342,
      "five_field_findings_equal": true,
      "baseline_ms": {
        "min": 18.196042,
        "median": 18.3695,
        "max": 24.996459
      },
      "cursor_ms": {
        "min": 1.3695,
        "median": 1.390958,
        "max": 2.973125
      },
      "speedup": 13.206365684657625
    },
    {
      "file": "05-76kb-trackers.xml",
      "bytes": 76000,
      "findings": 4,
      "errors": 2,
      "warnings": 0,
      "infos": 2,
      "five_field_findings_equal": true,
      "baseline_ms": {
        "min": 10.067208,
        "median": 10.173292,
        "max": 10.761125
      },
      "cursor_ms": {
        "min": 0.770959,
        "median": 0.793291,
        "max": 2.815208
      },
      "speedup": 12.824161625431273
    },
    {
      "file": "06-80kb-pod.xml",
      "bytes": 80000,
      "findings": 950,
      "errors": 380,
      "warnings": 190,
      "infos": 380,
      "five_field_findings_equal": true,
      "baseline_ms": {
        "min": 22.319667,
        "median": 22.507417,
        "max": 26.559041
      },
      "cursor_ms": {
        "min": 1.517458,
        "median": 1.559417,
        "max": 3.353458
      },
      "speedup": 14.433225365633438
    },
    {
      "file": "07-84kb-trackers.xml",
      "bytes": 84000,
      "findings": 4,
      "errors": 2,
      "warnings": 0,
      "infos": 2,
      "five_field_findings_equal": true,
      "baseline_ms": {
        "min": 12.187833,
        "median": 12.375834,
        "max": 14.693083
      },
      "cursor_ms": {
        "min": 0.854833,
        "median": 0.87725,
        "max": 2.999167
      },
      "speedup": 14.10753377030493
    },
    {
      "file": "08-88kb-pod.xml",
      "bytes": 88000,
      "findings": 1045,
      "errors": 418,
      "warnings": 209,
      "infos": 418,
      "five_field_findings_equal": true,
      "baseline_ms": {
        "min": 26.873375,
        "median": 27.053292,
        "max": 31.559292
      },
      "cursor_ms": {
        "min": 1.677791,
        "median": 1.71025,
        "max": 3.500042
      },
      "speedup": 15.81832597573454
    },
    {
      "file": "09-94kb-trackers.xml",
      "bytes": 94000,
      "findings": 4,
      "errors": 2,
      "warnings": 0,
      "infos": 2,
      "five_field_findings_equal": true,
      "baseline_ms": {
        "min": 15.116458,
        "median": 15.237083,
        "max": 16.412
      },
      "cursor_ms": {
        "min": 0.950417,
        "median": 0.979667,
        "max": 1.437625
      },
      "speedup": 15.55332883520625
    },
    {
      "file": "10-100kb-pod.xml",
      "bytes": 100000,
      "findings": 1185,
      "errors": 474,
      "warnings": 237,
      "infos": 474,
      "five_field_findings_equal": true,
      "baseline_ms": {
        "min": 34.328417,
        "median": 34.519958,
        "max": 37.9765
      },
      "cursor_ms": {
        "min": 1.900833,
        "median": 1.934834,
        "max": 5.730833
      },
      "speedup": 17.841302147884523
    }
  ],
  "batch_runs": [
    {
      "pass": 1,
      "baseline_ms": 167.48725,
      "cursor_ms": 11.8165
    },
    {
      "pass": 2,
      "baseline_ms": 167.152834,
      "cursor_ms": 11.765917
    },
    {
      "pass": 3,
      "baseline_ms": 167.228958,
      "cursor_ms": 11.609458
    },
    {
      "pass": 4,
      "baseline_ms": 167.393875,
      "cursor_ms": 11.604333
    },
    {
      "pass": 5,
      "baseline_ms": 168.4005,
      "cursor_ms": 11.895416
    },
    {
      "pass": 6,
      "baseline_ms": 167.283208,
      "cursor_ms": 12.91725
    },
    {
      "pass": 7,
      "baseline_ms": 172.71175,
      "cursor_ms": 12.743875
    },
    {
      "pass": 8,
      "baseline_ms": 173.307708,
      "cursor_ms": 12.786583
    },
    {
      "pass": 9,
      "baseline_ms": 172.329958,
      "cursor_ms": 14.72025
    },
    {
      "pass": 10,
      "baseline_ms": 205.615125,
      "cursor_ms": 25.634
    },
    {
      "pass": 11,
      "baseline_ms": 174.326417,
      "cursor_ms": 11.595458
    },
    {
      "pass": 12,
      "baseline_ms": 167.456708,
      "cursor_ms": 11.633625
    },
    {
      "pass": 13,
      "baseline_ms": 167.0075,
      "cursor_ms": 11.635417
    },
    {
      "pass": 14,
      "baseline_ms": 167.969875,
      "cursor_ms": 11.636625
    },
    {
      "pass": 15,
      "baseline_ms": 174.109334,
      "cursor_ms": 11.838459
    },
    {
      "pass": 16,
      "baseline_ms": 168.26225,
      "cursor_ms": 11.817167
    },
    {
      "pass": 17,
      "baseline_ms": 170.615167,
      "cursor_ms": 11.932833
    },
    {
      "pass": 18,
      "baseline_ms": 168.418125,
      "cursor_ms": 11.8785
    },
    {
      "pass": 19,
      "baseline_ms": 166.44975,
      "cursor_ms": 11.607375
    },
    {
      "pass": 20,
      "baseline_ms": 169.398542,
      "cursor_ms": 11.5805
    },
    {
      "pass": 21,
      "baseline_ms": 167.984208,
      "cursor_ms": 12.491083
    }
  ]
}
