Claim checker for public texts (TypeSafe), measured manifest load times, corrected README timings
ci / test (3.13) (push) Successful in 3m59s
ci / test (3.12) (push) Successful in 4m1s

This commit is contained in:
kemal committed 2026-10-01 13:05:37 +01:00
1 parent cab702aa24
commit 783e2a0039
9 files changed
+477 -4

No files matched your search

+1 -1
View File
@@ -304,7 +304,7 @@ A nightly differential run (`scripts/nightly.py`) re-checks these against the or
QC steps; on an 8 GB machine keep `--threads` low (≈ 2–3 GB per worker for GSA/Omni-size arrays).
* Speed: with the compiled kernels a GSA sample takes ~1.1 s on a Raspberry Pi 5 core (pure Python ~3.4 s); see
`docs/validation/P9.md` for server numbers and thread scaling. Loading a manifest/cluster file is a fixed cost
per run (GSA ~5 s, Omni2.5 ~15 s on the Pi).
per run (GSA ~4 s, Omni2.5 ~18 s on the Pi with the kernels).
* Methylation arrays: control-probe QC, detection and β values only (no differential analysis).
## Troubleshooting
+3
View File
@@ -80,3 +80,6 @@ Manifest loading: GSA 13 s → 3 s, Omni2.5 53 s → 13 s, GDA 40 s → 10 s (Pi
calling 0.24 s, normalize/polar 0.08 s, raw X/Y 0.06 s. A full Rust normalization fit is the next step if needed.
* Pi thread scaling is poor (36 samples, 3 workers ≈ 1.7× one core): the Pi 5's memory bandwidth, not the code.
* CI (`.gitea/workflows/ci.yml`) builds the extension and runs the unit tests with and without it.
* Manifest loading on the Raspberry Pi 5 with the kernels (2026-10-01, two runs each, Python imports included):
GSA v1 C2 BPM (618 540 loci) 4.1 to 4.4 s; Omni2.5 BPM (2 450 000 loci) 17.4 to 19.4 s, so about 4 s and 18 s.
Before the kernels the same step took 13 s and 53 s.