Skip to content

Add rezolus_memory example comparing Histogram vs sparse footprint#8

Draft
thinkingfish wants to merge 3 commits intomainfrom
claude/test-histogram-memory-A7b9D
Draft

Add rezolus_memory example comparing Histogram vs sparse footprint#8
thinkingfish wants to merge 3 commits intomainfrom
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.

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