docs: fix cross-links after the refresh; remove the stale benchmark script

- docs/README.md links the improvement logs and June plans where the
  refresh archived them (docs/archive/).
- clawhdf5-py README: 'r+' creates and replaces attributes (compact or
  dense); only deleting them is unsupported.
- scripts/run-benchmarks.sh benchmarked the pre-rename rustyhdf5-format
  and overwrote BENCHMARKS.md; nothing referenced it. Removed.
- Cargo.toml descriptions no longer name rustyhdf5/edgehdf5; clawhdf5-gpu
  says it is not HDF5 I/O.
- benchmarks/cross_platform.sh pointed at a ROADMAP section that no longer
  exists.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This commit is contained in:
osobh
2026-09-28 11:15:18 -05:00
co-authored by Claude Opus 5.5
parent 2bffd6b622
commit 3100f0143b
11 changed files with 15 additions and 89 deletions
+3 -2
View File
@@ -254,8 +254,9 @@ python -m pytest crates/clawhdf5-py/tests # compares with h5py; editing tes
- Run on an idle machine (1-minute load average below 2; wait otherwise),
alternate base and candidate binaries for A/B comparisons, and record date,
machine, commit and command with every number in `BENCHMARKS.md`.
- `scripts/run-benchmarks.sh` is stale (it benchmarks `rustyhdf5-format` and
overwrites `BENCHMARKS.md`) — do not run it.
- `BENCHMARKS.md` is written by hand from dated runs; no script regenerates
it (the old `scripts/run-benchmarks.sh`, which benchmarked the pre-rename
`rustyhdf5-format` and overwrote the file, was removed on 2026-09-28).
### CLI
```bash
+2 -1
View File
@@ -29,7 +29,8 @@
# - Use wasm-pack with a custom bench harness
# - Replace std::time::Instant with web_sys::Performance::now()
# - Replace TempDir/HDF5 I/O with an in-memory backend (separate effort)
# See ROADMAP.md §WASM for the full scope.
# Browser reads are tested (not benchmarked) by
# examples/wasm-viewer/test/run.sh; see examples/wasm-viewer/README.md.
set -euo pipefail
+1 -1
View File
@@ -3,7 +3,7 @@ name = "clawhdf5-accel"
version = "2.7.0"
edition = "2024"
rust-version.workspace = true
description = "SIMD-accelerated operations for rustyhdf5"
description = "SIMD kernels (AVX2, NEON) used by clawhdf5 — pure Rust"
license = "MIT"
repository = "https://git.redclaw.dev/quantumclaw/clawhdf5"
readme = "README.md"
+1 -1
View File
@@ -3,7 +3,7 @@ name = "clawhdf5-android"
version = "2.7.0"
edition = "2024"
rust-version.workspace = true
description = "Android JNI bridge for edgehdf5-memory HDF5 backend"
description = "Android JNI bindings for clawhdf5 agent memory"
license = "MIT"
[lib]
+1 -1
View File
@@ -3,7 +3,7 @@ name = "clawhdf5-derive"
version = "2.7.0"
edition = "2024"
rust-version.workspace = true
description = "Derive macros for rustyhdf5 HDF5 traits"
description = "Derive macro (H5Type) for clawhdf5 compound types"
license = "MIT"
repository = "https://git.redclaw.dev/quantumclaw/clawhdf5"
readme = "README.md"
+1 -1
View File
@@ -3,7 +3,7 @@ name = "clawhdf5-gpu"
version = "2.7.0"
edition = "2024"
rust-version.workspace = true
description = "GPU-accelerated vector operations for rustyhdf5 using wgpu compute shaders"
description = "GPU vector distance computation for clawhdf5 using wgpu compute shaders (not HDF5 I/O)"
license = "MIT"
repository = "https://git.redclaw.dev/quantumclaw/clawhdf5"
readme = "README.md"
+1 -1
View File
@@ -3,7 +3,7 @@ name = "clawhdf5-io"
version = "2.7.0"
edition = "2024"
rust-version.workspace = true
description = "I/O abstraction layer for rustyhdf5"
description = "I/O adapters for clawhdf5 (buffers, mmap, prefetch)"
license = "MIT"
repository = "https://git.redclaw.dev/quantumclaw/clawhdf5"
readme = "README.md"
+1 -1
View File
@@ -3,7 +3,7 @@ name = "clawhdf5-netcdf4"
version = "2.7.0"
edition = "2024"
rust-version.workspace = true
description = "NetCDF-4 read support built on rustyhdf5 — pure Rust, no C dependencies"
description = "NetCDF-4 read support built on clawhdf5 — pure Rust, no C dependencies"
license = "MIT"
repository = "https://git.redclaw.dev/quantumclaw/clawhdf5"
readme = "README.md"
+2 -1
View File
@@ -129,7 +129,8 @@ with clawhdf5.File("data.h5", "r+") as f:
`str` is stored as a fixed-length UTF-8 string (h5py stores a
variable-length one), so h5py reads it back as `bytes`.
- Not supported (`NotImplementedError`, nothing written): creating or
deleting datasets, groups and attributes, writing compound fields by
deleting datasets and groups, deleting attributes (creating and
replacing them works, compact or dense), writing compound fields by
name, variable-length data, HDF5 array types, and whatever
`FileEditor` refuses (listed in `docs/known-issues.md`).
+2 -2
View File
@@ -60,6 +60,6 @@ Every document in the repository, one line each. Start with the
|---|---|
| [ROADMAP.md](../ROADMAP.md) | Agent-memory roadmap and implementation tracker |
| [CLAUDE.md](../CLAUDE.md) | Architecture and workflow notes for contributors and coding agents |
| [IMPROVEMENT_LOG.md](../IMPROVEMENT_LOG.md), [IMPROVEMENT_SCAN.md](../IMPROVEMENT_SCAN.md) | Logs of earlier automated improvement passes |
| [superpowers/plans/](superpowers/plans/) | Implementation plans from June 2026 (filter codecs, format write extensions, MPI-IO); historical |
| [archive/IMPROVEMENT_LOG.md](archive/IMPROVEMENT_LOG.md), [archive/IMPROVEMENT_SCAN.md](archive/IMPROVEMENT_SCAN.md) | Logs of earlier automated improvement passes (archived, historical) |
| [archive/plans/](archive/plans/) | Implementation plans from June 2026 (filter codecs, format write extensions, MPI-IO); archived, historical |
| [research/](../research/) | Research briefs from August 2026 (performance, security, provenance) |
-77
View File
@@ -1,77 +0,0 @@
#!/usr/bin/env bash
# Run Criterion benchmarks for rustyhdf5-format and generate a markdown report.
#
# Usage:
# ./scripts/run-benchmarks.sh
#
# Output:
# BENCHMARKS.md in the repository root
set -uo pipefail
REPO_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
REPORT="$REPO_ROOT/BENCHMARKS.md"
BENCH_OUTPUT=$(mktemp)
echo "==> Running benchmarks for rustyhdf5-format ..."
cargo bench -p rustyhdf5-format 2>&1 | tee "$BENCH_OUTPUT"
BENCH_EXIT=${PIPESTATUS[0]}
if [ "$BENCH_EXIT" -ne 0 ]; then
echo "ERROR: cargo bench failed with exit code $BENCH_EXIT"
rm -f "$BENCH_OUTPUT"
exit 1
fi
# Parse criterion output lines like:
# bench_name time: [1.234 ms 1.256 ms 1.278 ms]
# We extract the middle (point estimate) value.
declare -a NAMES=()
declare -a TIMES=()
while IFS= read -r line; do
if [[ "$line" =~ ^([a-zA-Z0-9_/]+)[[:space:]]+time:[[:space:]]+\[.*[[:space:]]+([-0-9.]+[[:space:]]+(ns|µs|us|μs|ms|s))[[:space:]]+.*\] ]]; then
NAMES+=("${BASH_REMATCH[1]}")
TIMES+=("${BASH_REMATCH[2]}")
fi
done < "$BENCH_OUTPUT"
# Generate report
{
echo "# rustyhdf5-format Benchmark Results"
echo ""
echo "Generated: $(date -u '+%Y-%m-%d %H:%M:%S UTC')"
echo ""
echo "## System Info"
echo ""
echo "- **OS**: $(uname -srm)"
echo "- **Rust**: $(rustc --version)"
echo "- **CPU**: $(sysctl -n machdep.cpu.brand_string 2>/dev/null || lscpu 2>/dev/null | grep 'Model name' | sed 's/.*: *//' || echo 'unknown')"
echo ""
echo "## Results"
echo ""
echo "| Benchmark | Time (point estimate) |"
echo "|-----------|----------------------|"
for i in "${!NAMES[@]}"; do
echo "| ${NAMES[$i]} | ${TIMES[$i]} |"
done
if [ "${#NAMES[@]}" -eq 0 ]; then
echo "| (no results parsed — see raw output below) | — |"
fi
echo ""
echo "## Notes"
echo ""
echo "- All benchmarks use Criterion.rs with default settings."
echo "- 1M dataset = 1,000,000 f64 values (~7.6 MB)."
echo "- Chunked benchmarks use 10K-element chunks."
echo "- Run with: \`./scripts/run-benchmarks.sh\`"
} > "$REPORT"
rm -f "$BENCH_OUTPUT"
echo ""
echo "==> Benchmark report written to $REPORT"
echo "==> $(( ${#NAMES[@]} )) benchmarks captured."