{
  "project": "my-stl",
  "sha": "5e209d44cb35565aa5d22b78a29855f52dd7f570",
  "baselineName": "System C++ standard library (Apple clang version 17.0.0 (clang-1700.0.13.5) on Apple M2), per-container std:: equivalent",
  "conditions": {
    "n": "200,000 ops/case, 5 iters (median), 1 warmup",
    "machine": "macOS-15.5-arm64-arm-64bit-Mach-O (Apple M2)",
    "compiler": "Apple clang version 17.0.0 (clang-1700.0.13.5); Release -O3 -DNDEBUG"
  },
  "series": [
    {
      "workload": "Deque push_back + pop_front (vs std::deque)",
      "subject_value": 1.72021,
      "baseline_value": 2.89208,
      "ratio": 0.5948,
      "unit": "ns/op",
      "lowerIsBetter": true
    },
    {
      "workload": "Vector push_back (no reserve) (vs std::vector)",
      "subject_value": 1.60938,
      "baseline_value": 2.51625,
      "ratio": 0.639595,
      "unit": "ns/op",
      "lowerIsBetter": true
    },
    {
      "workload": "Vector push_back (reserve) (vs std::vector)",
      "subject_value": 0.462915,
      "baseline_value": 0.464585,
      "ratio": 0.996405,
      "unit": "ns/op",
      "lowerIsBetter": true
    },
    {
      "workload": "unordered_map emplace (reserve) (vs std::unordered_map)",
      "subject_value": 48.8856,
      "baseline_value": 41.3246,
      "ratio": 1.18297,
      "unit": "ns/op",
      "lowerIsBetter": true
    },
    {
      "workload": "map build + find (vs std::map)",
      "subject_value": 239.379,
      "baseline_value": 213.428,
      "ratio": 1.12159,
      "unit": "ns/op",
      "lowerIsBetter": true
    },
    {
      "workload": "set build + find (vs std::set)",
      "subject_value": 216.455,
      "baseline_value": 190.596,
      "ratio": 1.13567,
      "unit": "ns/op",
      "lowerIsBetter": true
    },
    {
      "workload": "flat_map build + find (vs std::map (sorted))",
      "subject_value": 50.2217,
      "baseline_value": 133.032,
      "ratio": 0.377516,
      "unit": "ns/op",
      "lowerIsBetter": true
    },
    {
      "workload": "flat_set build + find (vs std::set (sorted))",
      "subject_value": 43.6017,
      "baseline_value": 189.874,
      "ratio": 0.229635,
      "unit": "ns/op",
      "lowerIsBetter": true
    },
    {
      "workload": "small_vector push_back (vs std::vector)",
      "subject_value": 0.855835,
      "baseline_value": 0.804165,
      "ratio": 1.06425,
      "unit": "ns/op",
      "lowerIsBetter": true
    },
    {
      "workload": "stable_vector push_back (vs std::vector<unique_ptr>)",
      "subject_value": 16.355,
      "baseline_value": 14.6121,
      "ratio": 1.11928,
      "unit": "ns/op",
      "lowerIsBetter": true
    }
  ],
  "notes": "ratio = my-stl / std (lower is better). Honest mix: flat_set 0.230x and flat_map 0.378x crush node-based std::set/map via contiguous storage (2.6-4.4x faster), and deque/vector growth paths win on these workloads. Tree-based map (1.12x), set (1.14x), and unordered_map (1.18x) are reported as 12-18% SLOWER than libc++ — not massaged into wins. small_vector (1.06x) and stable_vector (1.12x) also slightly trail std on this run. The published bench_summary.json records git_sha 0f2c19b5 with git_dirty:true; the canonical pinned commit per facts.yaml is 5e209d44 (this discrepancy is flagged in facts.yaml gaps)."
}
