I have to correct something I told you last night. I said dna-repeats was about 7x faster than MinCED, but that was on all 64 cores. Measured on one core, as MinCED and PILER-CR run, it was 2.4 to 3.7x slower than both. That's now fixed, and dna-repeats wins on every axis even single-threaded. I've emailed you the correction.
Why it was slow: 98% of the time went to the regex step that finds where repeats can start. I replaced that step with a plain Zig scan (src/kmer_scan.zig) that gives exactly the same positions. Output is byte-identical to the old version on all 144 real runs I compared. Held-out #3 went from 59 s to 4.13 s on one core.
Held-out #3 (30 genomes, 73 known arrays), every tool on one core:
| Tool | Recall | Precision | Time | Peak memory | Exact repeat |
|---|---|---|---|---|---|
| dna-repeats | 68/73 | 95.9% | 4.13 s | 14.0 MB | 83.3% |
| MinCED | 67/73 | 94.4% | 14.74 s | 461.2 MB | 76.1% |