Skip to content

feat(reader): add native uniform and Zipf traces - #347

Open
blackdragoon26 wants to merge 1 commit into
1a1a11a:developfrom
blackdragoon26:feat/synthetic-readers
Open

blackdragoon26 wants to merge 1 commit into
1a1a11a:developfrom
blackdragoon26:feat/synthetic-readers

Conversation

@blackdragoon26

@blackdragoon26 blackdragoon26 commented Oct 15, 2026 •

Copy link
Copy Markdown

What does this PR do?

Adds native uniform and bounded Zipf workloads through the syn trace type, following #135.

Generation uses O(1) state per reader, including clones. Requests have unit size and unset timestamps. Reset and independent clones reproduce the same workload through the existing reader and simulation APIs.

Also includes the CLI sampler cleanup covered in #346, needed for leak-free sampling.

Type of change

  • Bug fix
  • New eviction / admission / prefetch algorithm
  • New trace reader or trace format
  • Performance improvement
  • Documentation
  • Build / CI
  • Other:

How was it tested?

All 11 CTest targets pass on macOS Debug and Ubuntu Release with LeakSanitizer. The dedicated reader tests also pass with AddressSanitizer and UndefinedBehaviorSanitizer.

Coverage includes distribution checks, input validation, reset/clone behavior, navigation, sampling, request limits, and serial/parallel replay.

  • ctest --test-dir _build_dbg --output-on-failure --parallel 4 passes
  • Build is warning-free (CI uses -Wall -Wextra -Werror)

The Ubuntu strict-warning build passes. macOS reports an existing warning in the debug executable.

Results

Native and materialized traces produce identical request and miss counts for LRU, FIFO and S3FIFO, including parallel runs and warmup.

Checklist

  • Formatted with clang-format (or the pre-commit hook from scripts/setup_hooks.sh)
  • Added or updated tests
  • Added or updated documentation
  • New algorithms are registered in the CLI and listed in the README

This branch has not been deployed

No deployments
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.

1 participant