Measured, reproducible results — including the honest gaps.
BENCH_FLOOR=0.9).kp benchmark --compare. Linux 6.12 (Debian) · Intel Core i5-3210M (2012-era laptop CPU) · 15 GB RAM
Deliberately modest hardware — if KopioRapido holds parity here, it holds it on anything.
tmpfs — measures engine overhead honestly, with no disk I/O in the way.
Sequential throughput, kernel copy_file_range
Parity (~1.02×).
Metadata-heavy, parallel strategy
cp wins on RAM-speed storage; parity (1.0×) on a real disk.
Same-volume reflink / APFS / ReFS
1.3× on CPU-fair storage — ~10× on a real disk.
Interrupted-transfer resume
Similar speed — but cp restarts from zero; kp verifies the prefix and appends only the tail.
Atomic rename
Parity — metadata-only rename, mtime/perms preserved by construction.
Copy + delete
0.88× — per-file bookkeeping; negligible on multi-GB workloads.
Representative of actual use; cache artifacts are called out.
Sequential throughput on a real disk
*cp’s number exceeds the disk’s real ~50–100 MB/s — a page-cache artifact, not disk I/O. On CPU-fair storage, large files are at parity (1.02×).
Metadata-heavy on a real disk
Tie (1.0×) — bookkeeping is invisible under real disk I/O.
Same-volume reflink / APFS / ReFS
~10× — the metadata-only clone skips the actual data write.
Interrupted-transfer resume
Similar — and kp writes only the missing tail (half of cp’s writes), so it wins on I/O-bound hardware.
Native tools stay competitive on raw local copies — we don't pretend otherwise. Where we measure behind, it's the per-file bookkeeping that pays for features they don't have (resume state, metadata index, comparison crawls):
cp — ~20µs/file of bookkeeping; invisible under real disk I/O (1.0×).rsync when only KBs change — a fixed ~40–100ms per-operation cost dominates; the actual transfer is at parity. Negligible on real workloads.mv — per-operation bookkeeping, proportional and negligible on multi-GB moves.cp number can exceed disk speed (page-cache artifact); on CPU-fair tmpfs it's parity (1.02×). Want to verify? kp benchmark --compare runs the full comparison on your own machine.