perf-compare

Benchmarks the Reactor data-grid stress harness and compares branch performance against the main baseline.

625|52|Updated Apr 16, 2026
One-click install
npx skills add https://github.com/microsoft/microsoft-ui-reactor --skill perf-compare
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: perf-compare
Source: https://github.com/microsoft/microsoft-ui-reactor/tree/main/.github/skills/perf-compare
Command: npx skills add https://github.com/microsoft/microsoft-ui-reactor --skill perf-compare

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Contributors to the microsoft-ui-reactor repo need to know whether their branch improves or regresses rendering performance before pushing, without manually building and timing the stress harness on two checkouts.

Core Features & Use Cases

  • Automated A/B benchmarking: Builds and runs the StressPerf.ReactorOptimized StocksGrid harness on the current branch and a clean main worktree, interleaved on the same machine.
  • Direction-aware delta reporting: Reports the four headline metrics (Renders/sec, Avg Reconcile ms, Avg Diff ms, Avg Memory MB) with a noise band so sub-noise deltas are not mislabeled as regressions.
  • Use Case: Before pushing a reconciler change, ask to compare perf vs main and receive a stdout table showing whether your branch improved, regressed, or stayed within noise on each metric.

Quick Start

Ask the assistant to benchmark your current branch against main and report the four perf metrics.

Frequently Asked Questions about perf-compare

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I benchmark my branch against main in microsoft-ui-reactor?

Ask to run the perf benchmark or compare perf vs main. The skill builds and runs the StressPerf.ReactorOptimized harness on your current tree and a clean main worktree, interleaved on one machine, then prints a delta table of the four headline metrics.

What performance metrics does the Reactor stress harness measure?

It measures Renders/sec (higher is better), Avg Reconcile ms, Avg Diff ms, and Avg Memory MB (all lower is better). The vanilla WinUI3 StressPerf.Direct run has no virtual DOM, so reconcile and diff read n/a.

Why does the perf benchmark fail with error 0xC000027B?

That error means the machine cannot composite a real WinUI window, typically on headless boxes, machines without a GPU, or RDP sessions without composition. The fix is to comment /perf on the PR, which runs on a windows-latest runner that can composite.

Can I compare my local run against numbers from another machine?

No. Absolute numbers are machine-dependent, so the skill only does same-runner A/B comparison, running both main and your branch interleaved on one machine. Trust the delta versus main, not the absolute values.

When is a performance delta considered a real regression?

A delta counts as a regression or improvement only when its magnitude exceeds the larger of the run-to-run spread and a 4 percent floor. Anything smaller is reported as within noise, and memory is the noisiest of the four metrics.