Merge branch 'perf/p2-contiguous-reads' into feat/p2-perf-coverage

# Conflicts:
#	CHANGELOG.md
#	docs/known-issues.md
This commit is contained in:
osobh
2026-09-26 09:10:26 -05:00
12 changed files with 1108 additions and 181 deletions
+8 -1
View File
@@ -9,7 +9,8 @@ deleting it.
## Concurrent and contiguous read performance (measured 2026-09-26)
**Status:** open; one cause of the first bullet fixed (2026-09-26). Measured on
**Status:** open for chunked full reads (one cause fixed 2026-09-26); the
contiguous item is fixed (2026-09-26). Measured on
tank with `concurrent_read` against h5py 3.16 / HDF5 2.0 (`BENCHMARKS.md`,
"Concurrent reads"):
- **Partly fixed 2026-09-26.** Full reads of chunked datasets from several threads
@@ -34,6 +35,12 @@ tank with `concurrent_read` against h5py 3.16 / HDF5 2.0 (`BENCHMARKS.md`,
the `f32` copy of it, and a new buffer per decoded chunk).
- Contiguous datasets read 4x slower than h5py on one thread (2.5 vs
9.8 GB/s full, 0.12x for 256 x 256 hyperslabs).
**Fixed 2026-09-26** (not yet re-measured for `BENCHMARKS.md`): full
reads were dominated by 4 KiB page faults on the fresh output buffer,
which is now backed by transparent huge pages as numpy's is; hyperslab
reads copied the selection three times, element by element, and now copy
each contiguous run once, straight from the file into the output (see
`CHANGELOG.md`). The chunked-read scaling item above is still open.
Values are correct; this is speed only.
## Silent wrong data found by the 2026-09-25 HDF5 audit