oxiland 0.13.0

Embedded RDF datasets, SPARQL, persistence, and streaming I/O for Rust
Documentation
# Milestone 0.13 performance report

Status: complete
Milestone: [`0.13`](../milestones/0.13.md)
Depends on: [`0.12`](../milestones/0.12.md) (complete)
Decision: [ADR-029](../DECISIONS.md#adr-029-013-suite-wide-faster-than-redland-gate)

## Summary

0.13 authorizes a **suite-wide faster-than-Redland** claim under ADR-029:
Linux x86-64, macOS Apple Silicon, and Windows x86-64 each passed **three
independent** corrected-runner cells against the frozen strict suite
(`compatibility/performance/0.13-suite.json`). Thresholds are throughput
median ≥ `1.05` with CI lower `> 1.0`, latency median ≤ `0.95` with CI upper
`< 1.0`, 100 paired AB/BA samples, and RSS budgets `1.25`.

Qualifying CI run:
[0.13 Faster-than-Redland Qualification 30973969324](https://github.com/eddiethedean/oxiland/actions/runs/30973969324)
on tip `a50ee5b25eb9daa56b0cf1d155856e1c312b35fb`.
`python3 scripts/check-0.13-release.py` is green on the committed nine-cell
bundle under `compatibility/qualification/performance/0.13/`.

ADR-028 remains the closed 0.12 competitive-parity record; this milestone does
not reopen it.

## Suite-wide worst-run medians

For each host, the table shows the **least favorable** of the three
independent run medians (minimum throughput ratio; maximum latency ratio).
Higher is better for throughput; lower is better for ASK latency. Every cell
still cleared the ADR-029 gate.

| Case | Linux | macOS | Windows |
|---|---:|---:|---:|
| Insert 1K | 3.273× | 2.915× | 2.809× |
| Insert 10K | 40.152× | 25.298× | 32.678× |
| Scan 10K | 1.629× | 2.248× | 2.018× |
| Parse Turtle 1K | 3.692× | 5.148× | 3.074× |
| Parse Turtle 10K | 35.636× | 28.928× | 31.645× |
| Serialize N-Quads 10K | 7.096× | 6.348× | 9.738× |
| ASK latency | 0.314× | 0.286× | 0.216× |
| SELECT 10K | 1.564× | 2.518× | 2.039× |
| CONSTRUCT 10K | 2.715× | 5.462× | 4.009× |
| 100K model-size calls | 1.332× | 1.228× | 1.104× |

## Scope

- Surface: public C API (`oxiland-capi` librdf-compat) versus system Redland
  `librdf` 1.0.17.
- Protocol: corrected paired driver (`perf_bench_0_13.c` /
  `scripts/run-0.13-performance.py`), production/release compile, library-path
  isolation so Redland processes do not load Oxiland’s compatibility library.
- Claim class: suite-wide faster-than-Redland (ADR-029). Host-scoped local
  tables in the [performance guide]../users/performance.md remain separately
  scoped when cited alone.

## Reproduce

```console
python3 scripts/check-0.13-release.py
# or re-collect one cell:
python3 scripts/run-0.13-performance.py --run-index 1
```

Re-run the full matrix with `.github/workflows/qualify-0.13.yml`
(`workflow_dispatch` or pushes to `0.13*` / `milestone-0.13*`).