{
  "as_of": "2026-11-14",
  "scope": "Bounded read-only review of existing xOneRS source, docs, audit and issue evidence for website performance content. No benchmark executed; no new issues; no Site files changed.",
  "source_repo": "XDCIndia/xOneRS",
  "source_commit": "5af188dbeb6199a859e9823720a9c8df689fcb87",
  "measurement_attribution": "Repository-reported results, not independent reproduction.",
  "headline_recommendation": "Use the merged replay CPU self-comparison as the featured result, with workload and host context. Keep RPC/memory observations in details and root parallelism under In review.",
  "facts": [
    {
      "id": "PERF-01",
      "area": "execution",
      "kind": "reported_measured_self_comparison",
      "website_use": "featured_with_context",
      "headline": "52% less CPU in a 20,000-block replay",
      "claim": "The merged libsecp256k1 recovery change reports roughly 873 to 417 CPU seconds for sequential net2040 replay from genesis through block 20,000.",
      "measurements": {
        "metric": "process user + system CPU seconds",
        "before_interleaved_runs": [
          874.7,
          873.0
        ],
        "after_interleaved_runs": [
          416.0,
          417.3
        ],
        "reported_reduction_percent": 52,
        "blocks": 20000,
        "mismatches_per_reported_run": 0,
        "archive_hash_checks_per_run": 200,
        "v2_epoch_switches_per_run": 11
      },
      "context": {
        "date": "2026-11-14",
        "cpu": "Intel i5-13500",
        "logical_cpus": 20,
        "host": "shared build host",
        "load1_mean_per_interleaved_run": [
          62,
          50,
          76,
          53
        ],
        "workload": "sequential replay from genesis, release, nice -n 19, checkpoint-every 0",
        "before_reported_commit": "b055158",
        "after_commit": "5839f946e600e5af141d9f43b30e4b0a91b41c8d"
      },
      "sources": [
        {
          "path": "docs/perf/ethrex-storage-comparison.md",
          "url": "https://github.com/XDCIndia/xOneRS/blob/5af188dbeb6199a859e9823720a9c8df689fcb87/docs/perf/ethrex-storage-comparison.md",
          "commit": "5af188dbeb6199a859e9823720a9c8df689fcb87",
          "section": "5. Implemented"
        },
        {
          "path": "crates/xone-primitives/src/seal.rs",
          "url": "https://github.com/XDCIndia/xOneRS/blob/5af188dbeb6199a859e9823720a9c8df689fcb87/crates/xone-primitives/src/seal.rs",
          "commit": "5af188dbeb6199a859e9823720a9c8df689fcb87"
        }
      ],
      "links": [
        "https://github.com/XDCIndia/xOneRS/issues/243",
        "https://github.com/XDCIndia/xOneRS/pull/319"
      ],
      "implementation_status": "PR #319 merged; source at the inspected pin imports secp256k1 and uses a verification context.",
      "limits": [
        "Repository-reported measurements; not independently reproduced in this pass.",
        "Self-comparison against an earlier xOneRS build, not a competitor ranking.",
        "CPU time is not wall-clock latency, network finality or node follower throughput.",
        "PR explicitly says node follower throughput was not measured.",
        "Shared-host load varied; do not turn this into a generic 2x faster claim."
      ],
      "suggested_copy": "A merged signer-recovery improvement cut reported CPU use by 52% in a 20,000-block net2040 replay. Shared-host test; zero mismatches reported in each run."
    },
    {
      "id": "PERF-02",
      "area": "execution",
      "kind": "reported_experiment_open_pr",
      "website_use": "roadmap_only",
      "headline": "Parallel root computation is under review",
      "claim": "PR #334 computes transaction and receipt roots on scoped threads beside the state root for blocks with at least 64 transactions.",
      "measurements": {
        "metric": "root-phase seconds on blocks with at least 64 transactions",
        "parallel_runs_0_to_14000": [
          {
            "before": 101.1,
            "after": 79.6,
            "reported_reduction_percent": 21,
            "load1_mean": 107
          },
          {
            "before": 120.5,
            "after": 100.5,
            "reported_reduction_percent": 17,
            "load1_mean": 119
          }
        ],
        "sequential_pair_0_to_20000": {
          "before": 91.7,
          "after": 89.0,
          "reported_reduction_percent": 3,
          "load1_mean": [
            109,
            108
          ]
        },
        "mismatches_per_reported_run": 0
      },
      "sources": [
        {
          "path": "docs/perf/ethrex-storage-comparison.md",
          "url": "https://github.com/XDCIndia/xOneRS/blob/5af188dbeb6199a859e9823720a9c8df689fcb87/docs/perf/ethrex-storage-comparison.md",
          "commit": "5af188dbeb6199a859e9823720a9c8df689fcb87",
          "section": "5. Implemented"
        },
        {
          "path": "crates/xone-executor/src/lib.rs",
          "url": "https://github.com/XDCIndia/xOneRS/blob/5af188dbeb6199a859e9823720a9c8df689fcb87/crates/xone-executor/src/lib.rs",
          "commit": "5af188dbeb6199a859e9823720a9c8df689fcb87"
        }
      ],
      "links": [
        "https://github.com/XDCIndia/xOneRS/issues/244",
        "https://github.com/XDCIndia/xOneRS/pull/334"
      ],
      "implementation_status": "GitHub check: PR #334 open, not merged; inspected main source still computes roots sequentially. PR head 35169fb475e828f0459706cfdbb326389d66dce7.",
      "limits": [
        "The documentation calls this implemented work, but the PR remains open; label it an experiment.",
        "These numbers concern one phase, not end-to-end execution.",
        "The sequential-pair difference was 3% and described as within noise.",
        "CPU work did not fall; benefits depend on free cores.",
        "Do not headline a general 21% speed improvement."
      ],
      "suggested_copy": "In review: parallel root computation for large blocks, with replay equivalence checks and performance evidence attached to the PR."
    },
    {
      "id": "PERF-03",
      "area": "rpc",
      "kind": "historical_narrow_observation",
      "website_use": "detail_only",
      "headline": "RPC timings need method-level context",
      "claim": "A historical live-node sample of 300 eth_blockNumber calls reported p50 0.5 ms, p99 8 ms and maximum 64 ms.",
      "measurements": {
        "method": "eth_blockNumber",
        "calls": 300,
        "p50_ms": 0.5,
        "p99_ms": 8,
        "max_ms": 64
      },
      "context": {
        "date_context": "2026-11-12 lag investigation",
        "network": "net2040",
        "build_context": "46e8769 live-node investigation",
        "load_model": "not a documented saturation or open-loop benchmark"
      },
      "sources": [
        {
          "path": "docs/ops/net2040-follow.md",
          "url": "https://github.com/XDCIndia/xOneRS/blob/5af188dbeb6199a859e9823720a9c8df689fcb87/docs/ops/net2040-follow.md",
          "commit": "5af188dbeb6199a859e9823720a9c8df689fcb87",
          "section": "Lag / Causes"
        }
      ],
      "links": [
        "https://github.com/XDCIndia/xOneRS/issues/197",
        "https://github.com/XDCIndia/xOneRS/issues/13"
      ],
      "limits": [
        "A single cheap method and small sample do not establish broad RPC latency.",
        "No comparable sustained RPC benchmark found in this scoped pass.",
        "No cold/warm or concurrency control is supplied for this sample."
      ],
      "suggested_copy": "A 300-call eth_blockNumber sample recorded 0.5 ms p50 and 8 ms p99. Full RPC load testing is tracked separately."
    },
    {
      "id": "PERF-04",
      "area": "sync",
      "kind": "historical_operational_run",
      "website_use": "detail_only",
      "headline": "Every sync result carries its workload",
      "claim": "A historical net2040 run reached block 766,981 from genesis in 108 minutes on a shared host while workspace tests also ran.",
      "measurements": {
        "start_height": 0,
        "end_height": 766981,
        "elapsed_minutes": 108,
        "host_load_average_range": [
          17,
          27
        ]
      },
      "context": {
        "date": "2026-11-12",
        "reported_binary": "xOne/v0.1.0-af707ce7-dirty-12112026",
        "network": "net2040",
        "role": "follower",
        "note": "This measurement is in the net2040 proof subsection of the Apothem follow document."
      },
      "sources": [
        {
          "path": "docs/ops/apothem-follow.md",
          "url": "https://github.com/XDCIndia/xOneRS/blob/5af188dbeb6199a859e9823720a9c8df689fcb87/docs/ops/apothem-follow.md",
          "commit": "5af188dbeb6199a859e9823720a9c8df689fcb87",
          "section": "Proof on net2040"
        }
      ],
      "links": [
        "https://github.com/XDCIndia/xOneRS/issues/139",
        "https://github.com/XDCIndia/xOneRS/pull/141"
      ],
      "limits": [
        "Historical run on a dirty development build; not a current release SLA.",
        "Not Apothem or Ethereum mainnet sync time.",
        "No same-host, same-retention peer-client comparison is established."
      ],
      "suggested_copy": "Published sync notes record the exact network, build, block range and host load, so progress can be checked against evidence."
    },
    {
      "id": "PERF-05",
      "area": "memory",
      "kind": "historical_operational_observation",
      "website_use": "detail_only",
      "headline": "Track heap and mapped files separately",
      "claim": "In the same bounded-history net2040 run, RssAnon was 1.41 GB at blocks 200,794, 502,077 and 766,981; total RSS rose from 3.85 GB to 4.21 GB as mapped MDBX pages became resident.",
      "measurements": {
        "samples": [
          {
            "height": 200794,
            "rss_gb": 3.85,
            "rss_anon_gb": 1.41,
            "rss_file_gb": 2.44
          },
          {
            "height": 502077,
            "rss_gb": 4.19,
            "rss_anon_gb": 1.41,
            "rss_file_gb": 2.78
          },
          {
            "height": 766981,
            "rss_gb": 4.21,
            "rss_anon_gb": 1.41,
            "rss_file_gb": 2.8
          }
        ],
        "peak_rss_anon_gb": 1.5,
        "sample_interval_seconds": 10
      },
      "sources": [
        {
          "path": "docs/ops/apothem-follow.md",
          "url": "https://github.com/XDCIndia/xOneRS/blob/5af188dbeb6199a859e9823720a9c8df689fcb87/docs/ops/apothem-follow.md",
          "commit": "5af188dbeb6199a859e9823720a9c8df689fcb87",
          "section": "Proof on net2040"
        },
        {
          "path": "crates/xone-node/src/services/hist.rs",
          "url": "https://github.com/XDCIndia/xOneRS/blob/5af188dbeb6199a859e9823720a9c8df689fcb87/crates/xone-node/src/services/hist.rs",
          "commit": "5af188dbeb6199a859e9823720a9c8df689fcb87"
        }
      ],
      "links": [
        "https://github.com/XDCIndia/xOneRS/issues/145",
        "https://github.com/XDCIndia/xOneRS/issues/200"
      ],
      "limits": [
        "Anonymous memory is not total RSS or cgroup memory.",
        "Historic net2040 state and workload; not a full-chain mainnet resource guarantee.",
        "The observed cap does not prove a permanent resource ceiling."
      ],
      "suggested_copy": "Bounded history separates the working set from retained chain data. Published measurements distinguish anonymous memory from file-backed RSS."
    },
    {
      "id": "PERF-06",
      "area": "memory",
      "kind": "synthetic_store_measurement",
      "website_use": "detail_only",
      "headline": "Disk-backed state has a measured synthetic baseline",
      "claim": "A real-store synthetic workload reported anonymous memory of 1,329 MB for memory state and 1,157 MB for disk state, a reported 13% reduction for the flat-row stage.",
      "measurements": {
        "accounts": 500000,
        "storage_slots": 2000000,
        "memory_state_anon_mb": 1329,
        "disk_state_anon_mb": 1157,
        "reported_reduction_percent": 13,
        "retention_blocks": 8
      },
      "context": {
        "generator": "xone-state-bench",
        "per_block_accounts": 5000,
        "per_block_slots": 20000,
        "state": "trie still in memory for this stage"
      },
      "sources": [
        {
          "path": "docs/ops/disk-state.md",
          "url": "https://github.com/XDCIndia/xOneRS/blob/5af188dbeb6199a859e9823720a9c8df689fcb87/docs/ops/disk-state.md",
          "commit": "5af188dbeb6199a859e9823720a9c8df689fcb87",
          "section": "Numbers (part 1)"
        }
      ],
      "links": [
        "https://github.com/XDCIndia/xOneRS/issues/145"
      ],
      "limits": [
        "Synthetic measurement of one implementation stage.",
        "Not total RSS, not all memory savings from disk state, and not a mainnet result.",
        "Startup timings in the same doc use different block heights and must not be turned into a speed ratio."
      ],
      "suggested_copy": "Disk-backed flat state reduced anonymous memory by 13% in one published synthetic store test; persisted tries and streamed snap installation address the remaining working set."
    },
    {
      "id": "PERF-07",
      "area": "storage",
      "kind": "source_architecture_and_unmeasured_work",
      "website_use": "architecture_and_roadmap",
      "headline": "Keep hot state separate from retained history",
      "claim": "The Rust store combines MDBX state/index tables with append-only XSEG history, disk-backed flat-state caches, persisted path-keyed trie nodes and streamed snap installation. Whole-segment pruning primitives exist; configurable retention, compression and bounded cleanup remain tracked work.",
      "sources": [
        {
          "path": "docs/ops/disk-state.md",
          "url": "https://github.com/XDCIndia/xOneRS/blob/5af188dbeb6199a859e9823720a9c8df689fcb87/docs/ops/disk-state.md",
          "commit": "5af188dbeb6199a859e9823720a9c8df689fcb87"
        },
        {
          "path": "crates/xone-sync/src/mdbx/mod.rs",
          "url": "https://github.com/XDCIndia/xOneRS/blob/5af188dbeb6199a859e9823720a9c8df689fcb87/crates/xone-sync/src/mdbx/mod.rs",
          "commit": "5af188dbeb6199a859e9823720a9c8df689fcb87"
        },
        {
          "path": "docs/adr/ADR-005-storage-and-publication.md",
          "url": "https://github.com/XDCIndia/xOneRS/blob/5af188dbeb6199a859e9823720a9c8df689fcb87/docs/adr/ADR-005-storage-and-publication.md",
          "commit": "5af188dbeb6199a859e9823720a9c8df689fcb87"
        }
      ],
      "links": [
        "https://github.com/XDCIndia/xOneRS/issues/135",
        "https://github.com/XDCIndia/xOneRS/issues/177",
        "https://github.com/XDCIndia/xOneRS/issues/194",
        "https://github.com/XDCIndia/xOneRS/issues/326",
        "https://github.com/XDCIndia/xOneRS/issues/329"
      ],
      "limits": [
        "No controlled before/after disk-pruning benchmark was found.",
        "Deleting records is not the same as shrinking an MDBX file.",
        "Full, archive and anchored/minimal sizes retain different data and cannot be ranked as equivalent.",
        "Do not publish a disk savings percentage or lower-resource promise from these sources."
      ],
      "suggested_copy": "Separate hot state from retained history. Track pruning, compressed segments and bounded cleanup through public implementation issues."
    },
    {
      "id": "PERF-08",
      "area": "methodology",
      "kind": "benchmark_gap",
      "website_use": "required_context",
      "headline": "A controlled cross-client baseline remains to be published",
      "claim": "The checked-in performance contract and baseline procedure explicitly say their standardized baseline has not yet been run. The storage decision record says its cross-client spikes use different hosts, loads and runtimes and are not a ranking.",
      "sources": [
        {
          "path": "docs/perf.md",
          "url": "https://github.com/XDCIndia/xOneRS/blob/5af188dbeb6199a859e9823720a9c8df689fcb87/docs/perf.md",
          "commit": "5af188dbeb6199a859e9823720a9c8df689fcb87"
        },
        {
          "path": "bench/README.md",
          "url": "https://github.com/XDCIndia/xOneRS/blob/5af188dbeb6199a859e9823720a9c8df689fcb87/bench/README.md",
          "commit": "5af188dbeb6199a859e9823720a9c8df689fcb87"
        },
        {
          "path": "docs/decisions/0135-storage-architecture.md",
          "url": "https://github.com/XDCIndia/xOneRS/blob/5af188dbeb6199a859e9823720a9c8df689fcb87/docs/decisions/0135-storage-architecture.md",
          "commit": "5af188dbeb6199a859e9823720a9c8df689fcb87",
          "section": "3 and 6"
        }
      ],
      "links": [
        "https://github.com/XDCIndia/xOneRS/issues/13",
        "https://github.com/XDCIndia/xOneRS/issues/135",
        "https://github.com/XDCIndia/xOneRS/issues/197",
        "https://github.com/XDCIndia/xOneRS/issues/200"
      ],
      "limits": [
        "Historical self-comparisons and operational observations exist; absence applies to a controlled comparable baseline.",
        "No supported claim that xOne is faster than Geth, Reth, Erigon, Nethermind or Besu.",
        "Do not use targets from docs/perf.md as achieved latency or throughput."
      ],
      "suggested_copy": "We publish workload-specific measurements and their limits. A controlled cross-client baseline is still pending."
    }
  ],
  "improvement_work": [
    {
      "area": "execution",
      "title": "Remove repeated root computation",
      "issues": [
        245
      ],
      "status": "tracked; not established as implemented in the inspected source",
      "benefit": "Reduce duplicate validation work while preserving every check.",
      "links": [
        "https://github.com/XDCIndia/xOneRS/issues/245"
      ]
    },
    {
      "area": "execution",
      "title": "Parallel storage roots and broader sender recovery",
      "issues": [
        246,
        250
      ],
      "status": "proposed",
      "benefit": "Explore additional parallelism; gains require measurement on the target workload.",
      "links": [
        "https://github.com/XDCIndia/xOneRS/issues/246",
        "https://github.com/XDCIndia/xOneRS/issues/250"
      ]
    },
    {
      "area": "execution",
      "title": "Pipeline execution with commit and cache analyzed bytecode",
      "issues": [
        247,
        248,
        249
      ],
      "status": "proposed",
      "benefit": "Move work off the import critical path without changing publication safety.",
      "links": [
        "https://github.com/XDCIndia/xOneRS/issues/247",
        "https://github.com/XDCIndia/xOneRS/issues/248",
        "https://github.com/XDCIndia/xOneRS/issues/249"
      ]
    },
    {
      "area": "rpc",
      "title": "Measure and accelerate historical queries",
      "issues": [
        197,
        258,
        333
      ],
      "status": "tracked",
      "benefit": "Open-loop method-level replay, bloom filtering and a bounded persistent log index.",
      "links": [
        "https://github.com/XDCIndia/xOneRS/issues/197",
        "https://github.com/XDCIndia/xOneRS/issues/258",
        "https://github.com/XDCIndia/xOneRS/issues/333"
      ]
    },
    {
      "area": "storage",
      "title": "Pruning, compression and bounded cleanup",
      "issues": [
        177,
        194,
        326,
        329
      ],
      "status": "tracked",
      "benefit": "Make retained data and cleanup costs explicit; no savings percentage measured here.",
      "links": [
        "https://github.com/XDCIndia/xOneRS/issues/177",
        "https://github.com/XDCIndia/xOneRS/issues/194",
        "https://github.com/XDCIndia/xOneRS/issues/326",
        "https://github.com/XDCIndia/xOneRS/issues/329"
      ]
    },
    {
      "area": "memory",
      "title": "Disk-backed state and resource regression budgets",
      "issues": [
        145,
        200
      ],
      "status": "partial source implementation plus open qualification work",
      "benefit": "Bound the working set and verify RSS, CPU and disk limits by node role.",
      "links": [
        "https://github.com/XDCIndia/xOneRS/issues/145",
        "https://github.com/XDCIndia/xOneRS/issues/200"
      ]
    },
    {
      "area": "observability",
      "title": "Per-phase slow-block timing",
      "issues": [
        226
      ],
      "status": "tracked",
      "benefit": "Replace temporary profiling timers with repeatable phase evidence.",
      "links": [
        "https://github.com/XDCIndia/xOneRS/issues/226"
      ]
    }
  ],
  "competitor_comparison": {
    "controlled_like_for_like_results_found": false,
    "scope": "Audited xOne files only; no broad new competitor search performed.",
    "notes": [
      "The docs mention geth-XDC dense-range observations, but these do not establish controlled same-host, same-mode comparability.",
      "Do not transpose ethrex, Reth or other upstream benchmark numbers into xOne claims.",
      "Existing competitor retention/operations references can inform design; no competitor performance numbers were needed for this website update."
    ]
  },
  "website_guardrails": [
    "Label measurements, experiments, targets and proposed work separately.",
    "A 52% CPU reduction is not 52% lower transaction latency.",
    "Do not imply network finality, TPS, mainnet sync time or production readiness from a replay.",
    "Keep RPC method/sample size and memory metric definitions visible.",
    "Archive/minimal/full nodes keep different data; avoid a common disk-size ranking.",
    "Use source pins and PR links; recheck status before changing an experimental item to shipped."
  ],
  "github_status_checked": [
    {
      "number": 319,
      "url": "https://github.com/XDCIndia/xOneRS/pull/319",
      "title": "xone-primitives: recover signers with libsecp256k1",
      "state": "closed",
      "merged": true,
      "merged_at": "2026-11-14T07:15:52Z",
      "head_sha": "5839f946e600e5af141d9f43b30e4b0a91b41c8d",
      "merge_commit_sha": "dccecf890984fee2b51957a4ca78131b94814218",
      "updated_at": "2026-11-14T08:10:15Z"
    },
    {
      "number": 334,
      "url": "https://github.com/XDCIndia/xOneRS/pull/334",
      "title": "xone-executor: compute the tx, receipts and state roots of a large block at the same time",
      "state": "open",
      "merged": false,
      "merged_at": null,
      "head_sha": "35169fb475e828f0459706cfdbb326389d66dce7",
      "merge_commit_sha": "21a244226f52083b646e328d56a84dfbd82ee690",
      "updated_at": "2026-11-14T08:13:07Z"
    },
    {
      "number": 335,
      "url": "https://github.com/XDCIndia/xOneRS/pull/335",
      "title": "docs: ethrex and xOneRS storage, execution pipeline and speed, with ranked improvements",
      "state": "closed",
      "merged": true,
      "merged_at": "2026-11-14T08:10:43Z",
      "head_sha": "28002cb2b112b641b01291cd5915312b6fd96c60",
      "merge_commit_sha": "e57a4ec13cafb7c1e8e10afa07a15e10a87941c5",
      "updated_at": "2026-11-14T08:10:43Z"
    },
    {
      "number": 243,
      "url": "https://github.com/XDCIndia/xOneRS/issues/243",
      "title": "perf: ecrecover on libsecp256k1 (recovery is 71% of replay time on k256)",
      "state": "closed",
      "merged": null,
      "merged_at": null,
      "head_sha": null,
      "merge_commit_sha": null,
      "updated_at": "2026-11-14T07:15:53Z"
    },
    {
      "number": 244,
      "url": "https://github.com/XDCIndia/xOneRS/issues/244",
      "title": "perf: compute the tx root, the receipts and the state root of a large block at the same time",
      "state": "open",
      "merged": null,
      "merged_at": null,
      "head_sha": null,
      "merge_commit_sha": null,
      "updated_at": "2026-11-14T05:43:39Z"
    },
    {
      "number": 145,
      "url": "https://github.com/XDCIndia/xOneRS/issues/145",
      "title": "state: disk-backed state (flat, trie, streamed snap install) for bounded memory on Apothem",
      "state": "open",
      "merged": null,
      "merged_at": null,
      "head_sha": null,
      "merge_commit_sha": null,
      "updated_at": "2026-11-14T02:36:10Z"
    },
    {
      "number": 197,
      "url": "https://github.com/XDCIndia/xOneRS/issues/197",
      "title": "[GAP-0042] RPC traffic recorder and open-loop replay benchmark (record real requests, replay them at a set rate, report latency per method)",
      "state": "open",
      "merged": null,
      "merged_at": null,
      "head_sha": null,
      "merge_commit_sha": null,
      "updated_at": "2026-11-14T04:36:38Z"
    }
  ]
}
