Repository navigation
Debugging Tool Correctness Hashes
← Debugging Tools and Commands
The xemu performance-test hash helper compares deterministic baseline and candidate result records without treating missing evidence as success.
| Property | Details |
|---|---|
| Supported OS | Windows, Linux, macOS with Python 3. |
| Install | Clone the exact xemu-perf-tests revision used by the campaign. |
| Verify | python3 --version |
| Primary output | See the workflow below. |
Performance improvements are unusable if they silently change deterministic guest results.
The repository helper:
xemu-perf-tests/utils/hash_compare.py
compares deterministic hashes such as framebuffer, work, and result checksums from baseline/candidate result records.
python3 utils/hash_compare.py \
/results/baseline \
/results/candidatepython3 utils/hash_compare.py \
/results/baseline \
/results/candidate-a \
/results/candidate-b \
--json-out hash-comparison.jsonHuman output resembles:
BASELINE ...
RUN ...
test-name framebuffer=1 work=1 result=1
VERDICT PASS checked=3 mismatch=0 missing=0 extra=0
OVERALL PASS
Meaning:
-
1= eligible hash matched; -
0= eligible hash differed; -
-= that hash was not eligible/available; -
PASSrequires checked hashes and no missing/extra/mismatched records; -
UNVERIFIEDmeans no eligible hashes were actually checked.
Do not convert UNVERIFIED into PASS.
A hash can validate only the data included in its contract. It does not replace image inspection, gameplay validation, audio checks, or platform-specific tests outside that contract.
UNVERIFIED, missing records, extra records, and ineligible hashes must remain visible. Never promote them to PASS.
- Tool name and exact version.
- Source commit/tree and executable SHA-256.
- The complete command or saved profile used.
- Input artifact hashes and the explicitly selected time or address range.
- Raw output plus any derived report; do not retain only a screenshot or conclusion.
- Admission failures, warnings, dropped events, incomplete rows, or unsupported operations.
DSP tooling guide and navigation updated November 2, 2026 for experimental PR #384, source 8f51d237. Capture/replay usage and limits.
The earlier wiki-wide review was published November 1, 2026. Emulator source: b7140848. Reviewed wiki content: 1d2b671. Current status · Release availability · Publication process.
- Home
- Current status
- Stable versus main
- Implemented mechanisms
- Controls and defaults
- Measured results and limits
- Complete change register
- System
- CPU and vCPU
- Memory and DMA
- Graphics / NV2A
- APU and audio
- Timing and timers
- Platform and I/O
- Hardware observations
- Fidelity boundaries
- Methodology
- PGR2 routes
- Debugging lag / hot paths
- Tools and commands
- DSP capture, replay and fuzzing
- HLE readiness and public XISO proof
- Concurrent DSP shadow and OpenAL proof
- DSP HLE operation inventory
- DSP HLE fix examples and testing
- Development
- Upstream shortlist
- Wiki maintenance
- Research / retired work
- Optimization catalog
- Hot-path shortcuts
- Researched experiments
- Unproven proposal directory
- PR lessons
- September26 snapshot
Repository · PRs · Issues