{
  "title": "Updated Instraxis Plot: fresh controls and historical vendor references",
  "report": "Updated Instraxis Plot: loading, replacement and responsiveness",
  "campaign": "plot-update-2026-09-11",
  "completed": "2026-09-11",
  "scope": "Fresh updated Instraxis Plot and matched previous-backend controls. Vendor values are historical Instraxis-run references, not rerun in this update. Chart harness measurements, not complete Instraxis Control acquisition, logging or file-loading performance.",
  "statistic": "Nearest-rank p95 combined cycle in milliseconds, pooled across three accepted fresh-process repetitions; lower is better.",
  "timer": "Append/replacement API, range request, library/window processing, UI pumping and DwmFlush. Not physical display latency, FPS or isolated GPU time.",
  "protocol": {
    "runs": "42/42 fresh Instraxis Plot processes accepted: 30 updated and 12 old-backend controls; 14 complete three-run cohorts. No vendor reruns. Historical extended references retain their original 72 chart runs and 6 runtime baselines.",
    "replay": "30 seconds of precomputed immutable input, published every 10 ms, at most 30 requested chart updates/s. All history retained; no ring eviction.",
    "viewport": "Latest 1M points, switching to a historical 10M-point region for the last 250 ms of each 2-second interval.",
    "replacement": "20 complete X/Y replacements per process, cycling three precomputed datasets; includes the first replacement. Selected image captures and settling pauses occur between timed cycles; not an uninterrupted maximum-rate loop.",
    "concurrent": "Replay plus a common application-worker algorithm over an immutable 10M-point region, requested once/s. Not vendor-native analysis or Control analysis capacity.",
    "aggregation": "Latency events pooled across three processes; faster processes can contribute more events. Acceptance, memory and drain values are medians of per-run values.",
    "freshControls": "Fresh old/new controls cover 100M static, 100M +1M/s stream, 100M replacement and 100M concurrent. No fresh previous-backend controls for 10M cases or 100M +100k/s streaming. Within each host type, only the native DLL differs.",
    "correctness": "Eight selected current-source correctness suites passed before timing. All 186 saved checkpoints accepted: 35 directly inspected originals, remaining captures matched by exact hash and fixture/view. Internal independent recomputation checked 4,776 values with zero differences; not third-party certification."
  },
  "environment": {
    "cpu": "Intel Core i7-10700 @ 2.90 GHz; 8 cores / 16 threads",
    "ram": "32 GiB; configured 2933 MHz",
    "gpu": "Intel UHD Graphics 630; driver 31.0.101.2140",
    "os": "Windows 11 Pro, build 26200; Balanced power plan",
    "display": "1920 × 1080, reported 59 Hz; 1000 × 650 chart client",
    "runtime": "Fresh Instraxis Plot: Release x64, MSVC v145; static native host and extended .NET 10 WinForms host. Historical vendors: .NET 10 x64 for ProEssentials and SciChart (WPF ElementHost); .NET Framework 4.8 x64 for LightningChart."
  },
  "backends": [
    {
      "id": "instraxis-plot",
      "label": "Instraxis Plot",
      "version": "Instraxis Plot · 1a967f8",
      "revision": "1a967f875168cd45976aa6efba303d0e78fee337",
      "evidence": "Fresh update",
      "campaign": "plot-update-2026-09-11"
    },
    {
      "id": "pe",
      "label": "ProEssentials 11",
      "version": "11.0.0.2",
      "evidence": "Historical reference",
      "campaign": "campaign-final"
    },
    {
      "id": "scichart",
      "label": "SciChart 9",
      "version": "9.0.0.29196",
      "evidence": "Historical reference",
      "campaign": "campaign-final"
    },
    {
      "id": "lc",
      "label": "LightningChart 10",
      "version": "10.0.1.4001",
      "evidence": "Historical reference",
      "campaign": "campaign-final"
    }
  ],
  "scenarios": [
    {
      "id": "stream-100m-1m",
      "label": "Stream · 100M points + 1M samples/s",
      "mode": "stream",
      "initialCount": 100000000,
      "rate": 1000000,
      "values": [
        20.85,
        701.82,
        36.07,
        283.81
      ],
      "note": "Updated Instraxis Plot measured 20.85 ms p95. Vendor figures are retained historical measurements; those backends were not rerun.",
      "delivery": "Within 30 seconds, Instraxis Plot accepted 29.96M of the 30M scheduled new samples (99.87%); 40,000 remained at the boundary. The updated run reached 130M with no missing input after catch-up; historical vendor runs also reached that count.",
      "acceptancePercent": [
        99.87,
        96.63,
        99.87,
        98.73
      ],
      "drainMs": [
        7.55,
        679.87,
        125.43,
        264.13
      ]
    },
    {
      "id": "stream-10m-100k",
      "label": "Stream · 10M points + 100k samples/s",
      "mode": "stream",
      "initialCount": 10000000,
      "rate": 100000,
      "values": [
        20.84,
        115.74,
        35.71,
        52.85
      ],
      "note": "Updated Instraxis Plot measured 20.84 ms p95. Vendor figures are retained historical measurements; those backends were not rerun.",
      "delivery": "Instraxis Plot accepted 99.87% of scheduled new input within 30 seconds. Updated Instraxis Plot and the historical vendor runs retained 13M points with no missing input after catch-up.",
      "acceptancePercent": [
        99.87,
        99.47,
        99.87,
        99.87
      ],
      "drainMs": [
        6,
        81.81,
        24.67,
        41.29
      ]
    },
    {
      "id": "stream-100m-100k",
      "label": "Stream · 100M points + 100k samples/s",
      "mode": "stream",
      "initialCount": 100000000,
      "rate": 100000,
      "values": [
        20.75,
        600.59,
        34.78,
        250.32
      ],
      "note": "Updated Instraxis Plot measured 20.75 ms p95. Vendor figures are retained historical measurements; those backends were not rerun.",
      "delivery": "Instraxis Plot accepted 99.87% of scheduled new input within 30 seconds. Updated Instraxis Plot and the historical vendor runs retained 103M points with no missing input after catch-up.",
      "acceptancePercent": [
        99.87,
        96.9,
        99.87,
        99.13
      ],
      "drainMs": [
        6.7,
        533.44,
        108.56,
        213.29
      ]
    },
    {
      "id": "replace-10m",
      "label": "Replace all X/Y · 10M points",
      "mode": "replace",
      "initialCount": 10000000,
      "rate": 0,
      "values": [
        41.65,
        60.59,
        94.34,
        231.53
      ],
      "note": "Updated Instraxis Plot measured 41.65 ms p95. Vendor figures are retained historical measurements; those backends were not rerun.",
      "delivery": "Twenty complete X/Y replacements per process, three updated Instraxis Plot processes. No fresh previous-backend control at 10M. Updated p95 is below the historical vendor values; this is not a fresh same-session vendor comparison."
    },
    {
      "id": "replace-100m",
      "label": "Replace all X/Y · 100M points",
      "mode": "replace",
      "initialCount": 100000000,
      "rate": 0,
      "values": [
        249.14,
        441.7,
        595.7,
        2877.9
      ],
      "note": "Updated Instraxis Plot measured 249.14 ms p95. Vendor figures are retained historical measurements; those backends were not rerun.",
      "delivery": "Fresh matched previous/updated Instraxis Plot: 491.04 to 249.14 ms p95, a 49.3% reduction. ProEssentials measured 441.70 ms in the earlier campaign. These are different sessions; the vendor was not rerun."
    },
    {
      "id": "concurrent-100m-100k",
      "label": "Stream + analysis · 100M points + 100k/s",
      "mode": "concurrent",
      "initialCount": 100000000,
      "rate": 100000,
      "values": [
        20.8,
        616.68,
        35.17,
        233.45
      ],
      "note": "Updated Instraxis Plot measured 20.80 ms p95. Vendor figures are retained historical measurements; those backends were not rerun.",
      "delivery": "A common C# algorithm analyzes a 10M-point region. This measures chart behavior under contention, not the changed native scientific routines or Control analysis capacity. Fresh request-to-UI p95 rose from 63.60 to 66.05 ms."
    }
  ],
  "limitations": [
    "Vendors were not rerun. The mixed tables show updated Instraxis Plot alongside historical locally measured vendor references, not a new same-session four-vendor campaign.",
    "Fresh controls isolate old/new changes at 100M only. Three-process observations are descriptive, not a significance test.",
    "One workstation, one series, short replay. Does not establish multichannel capacity, long-duration reliability or performance on another PC.",
    "Vendor adapters use different supported APIs, runtime and storage paths. Same application-level workload does not mean identical implementation.",
    "Precomputed replay excludes waveform generation and external-device acquisition/transfer. Chart capacity does not establish Control DataTable, logging or file-loading capacity.",
    "Selected image checkpoints were reviewed; every timed frame was not validated pixel by pixel. Narrow raster slits in dense waveforms remain a known limitation of the tested snapshot.",
    "Memory is essentially unchanged and concurrent analysis request-to-UI timing did not improve. The shared C# analysis workload does not exercise the newly changed native scientific routines.",
    "Current Control development integration and the published installation are separate; confirm the supplied build during evaluation."
  ],
  "source": {
    "publisher": "Instraxis",
    "access": "Completed Instraxis Plot update report and finalized validation summary; historical vendor values from the previous accepted extended campaign. This download is a curated summary, not the raw dataset.",
    "freshSummarySha256": "ed99f2e85752386aa80e652a36972fb1b2ad1ef514a9b92a24437881efe95101",
    "historicalLatencyCsvSha256": "0dcb2630ee50fcf051a75002bd91b0481cab20f5a87d2fa21b33217ebde5aa20",
    "reportSha256": "84bbd820e3eed8046ce52987e2cf1a31805b415a1dadbac1567653c576a1df6e"
  },
  "completedUtc": "2026-09-11T17:46:36.805833+00:00",
  "runIntervalUtc": [
    "2026-09-11T17:24:32.3682513Z",
    "2026-09-11T17:39:29.1827278Z"
  ],
  "comparisonBoundary": "Only Instraxis Plot was rerun. Fresh old/new controls isolate the backend change; differences against vendor references also include measurement-session effects. No fresh vendor ranking is established.",
  "freshComparison": [
    {
      "id": "attach",
      "label": "Attach API",
      "statistic": "Median",
      "kind": "static",
      "mode": "viewport",
      "points": 100000000,
      "rate": 0,
      "sourceField": "api_attach_ms",
      "sourceType": "scalars",
      "values": [
        294.6758,
        75.1883
      ],
      "interpretation": "74.5% lower",
      "note": "Attachment only; index construction and the first completed cycle add time."
    },
    {
      "id": "preparation",
      "label": "Preparation + first completed cycle",
      "statistic": "Median",
      "kind": "static",
      "mode": "viewport",
      "points": 100000000,
      "rate": 0,
      "sourceField": "ready_ms",
      "sourceType": "scalars",
      "values": [
        486.872,
        242.258
      ],
      "interpretation": "50.2% lower",
      "note": "Per-process total of attachment, index construction and first paint/pump/compositor cycle. Fixture generation and control creation excluded."
    },
    {
      "id": "replacement",
      "label": "Complete X/Y replacement",
      "statistic": "Pooled p95",
      "kind": "extended",
      "mode": "replace",
      "points": 100000000,
      "rate": 0,
      "sourceField": "replacement_cycle",
      "sourceType": "latency",
      "values": [
        491.0359,
        249.1393
      ],
      "interpretation": "49.3% lower",
      "note": "All 20 timed replacements per process, three fresh processes per version."
    },
    {
      "id": "streaming",
      "label": "Streaming +1M samples/s",
      "statistic": "Pooled p95 cycle",
      "kind": "extended",
      "mode": "stream",
      "points": 100000000,
      "rate": 1000000,
      "sourceField": "active_cycle",
      "sourceType": "latency",
      "values": [
        21.2743,
        20.8536
      ],
      "interpretation": "Similar responsiveness",
      "note": "Short replay with updates requested at most 30 times/s; a small shift is not evidence of a causal rendering improvement."
    },
    {
      "id": "analysis-delivery",
      "label": "Concurrent analysis request to UI",
      "statistic": "Pooled p95",
      "kind": "extended",
      "mode": "concurrent",
      "points": 100000000,
      "rate": 100000,
      "sourceField": "analysis_request_to_ui",
      "sourceType": "latency",
      "values": [
        63.59609999999884,
        66.04789999999957
      ],
      "interpretation": "3.9% higher",
      "note": "Common C# algorithm. This rerun does not demonstrate improved analysis delivery."
    }
  ],
  "baseline": {
    "label": "Previous Instraxis Plot · fresh control",
    "revision": "8f1c7b8fde1369f4d76d623d970729a756f126ce",
    "campaign": "plot-update-2026-09-11",
    "evidence": "Fresh old-backend control"
  }
}
