Skip to content

perf, establish MVP bench suite for I/O throughput claims #172

@steven-varga

Description

@steven-varga

Goal

Replace hand-wavy performance claims with reproducible, versioned numbers. See design report: tasks/h5cpp-performance-evaluation-framework-design.md in workspace.

MVP Scope

  1. Vendored nanobench harness (single header, validated in libdecimal)
  2. bench/ directory with CMake integration (H5CPP_BUILD_BENCH)
  3. 5 bench groups:
    • sequential write/read (1D/2D/3D vectors, matrices)
    • container overhead (raw HDF5 C vs h5cpp high-level)
    • chunked + filtered write (gzip, zstd, lz4, shuffle)
    • h5::high_throughput speedup (direct chunk vs standard)
    • small-object latency (single struct, 4KB vector)
  4. Filesystem baselines: raw POSIX fwrite, mmap, memcpy, tmpfs
  5. JSON + console output
  6. CI job on ubuntu-24.04/gcc-14 (advisory, not merge gate)
  7. bench/README.md

Out of Scope

  • MPI (deferred to Phase 3)
  • S3 backend (greenfield, does not exist yet)
  • Threaded pipeline (blocked on implementation)
  • macOS/Windows CI (Linux is stable reference)

Target Branch

staging


Design report authored by Winston (Architecture), John (Product), Mary (Business Analysis).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions