Skip to content

Add rezolus_memory example comparing Histogram vs sparse footprint#8

Closed
thinkingfish wants to merge 4 commits into
mainfrom
claude/test-histogram-memory-A7b9D
Closed

Add rezolus_memory example comparing Histogram vs sparse footprint#8
thinkingfish wants to merge 4 commits into
mainfrom
claude/test-histogram-memory-A7b9D

Conversation

@thinkingfish

Copy link
Copy Markdown
Member

Summary

Adds an example that measures the in-memory footprint of the Histogram, SparseHistogram, and CumulativeROHistogram representations for each row of every List<UInt64> histogram column in one or more Rezolus parquet recordings. Reports per-column and overall distribution statistics (mean/min/max bytes, non-zero bucket counts, relative size).

Also bumps the crate version to 1.1.1-alpha.0 per CLAUDE.md.

Usage

cargo run --release --example rezolus_memory -- path/to/recording.parquet [...]

Results for the Rezolus sample recordings

Run against the three parquet files shipped under rezolus/site/viewer/data/:

file samples columns avg non-zero buckets Histogram total SparseHistogram total savings
demo.parquet 9,966 33 95 38.17 MiB 11.64 MiB 69.5%
cachecannon.parquet 16,629 69 128 101.90 MiB 25.66 MiB 74.8%
vllm.parquet 12,376 41 113 141.46 MiB 16.97 MiB 88.0%
overall 38,971 143 115 281.53 MiB 54.27 MiB 80.7%

CumulativeROHistogram uses the same columnar layout as SparseHistogram, so its memory numbers match exactly; the example prints both for completeness.

Test plan

  • cargo build --release --example rezolus_memory
  • Ran against demo.parquet, cachecannon.parquet, and vllm.parquet — per-column and aggregate output rendered correctly
  • cargo test (no new tests; example exercised manually)

claude added 3 commits April 21, 2026 22:12
…print

Reads histogram columns from Rezolus parquet recordings, reconstructs each
sample as `Histogram`, `SparseHistogram`, and `CumulativeROHistogram`, and
prints per-column and overall distribution statistics for the in-memory size
of each representation.

Usage:

    cargo run --release --example rezolus_memory -- \
        path/to/recording1.parquet path/to/recording2.parquet ...

Also bumps the crate to 1.1.1-alpha.0 per CLAUDE.md.
@thinkingfish

Copy link
Copy Markdown
Member Author

We didn't need this code to be actually in histogram

@thinkingfish thinkingfish reopened this Apr 22, 2026
@thinkingfish

Copy link
Copy Markdown
Member Author

Not sure if we actually want this code to be checked in.

Copy link
Copy Markdown
Member Author

Closing as superseded. While resolving the merge conflict with main, I found that the rezolus_memory example this PR adds has already landed on main via #14 (commit 4663598) — the file content is byte-identical. After merging main in, the only remaining change here is a Cargo.toml version bump, so there's nothing left to contribute.

No work is lost: the example is on main. Closing this out.


Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants