Analyze a cache trace file to understand its characteristics and recommend policies
Analyze the given cache trace to understand its access pattern characteristics and recommend which cache policies would perform best.
Trace file: $ARGUMENTS
Identify the trace format and read the trace:
Compute trace statistics. Write a small analysis script or use the simulator's synthetic tools to characterize:
Characterize the workload:
Recommend policies for comparison:
Run a quick validation. Execute a single-size simulation using
simulator:run (not simulator:simulate which does multi-size):
./gradlew simulator:run -q \
-Dcaffeine.simulator.files.paths.0="format:path" \
-Dcaffeine.simulator.maximum-size=SIZE \
-Dcaffeine.simulator.policies.0=product.Caffeine \
-Dcaffeine.simulator.policies.1=opt.Clairvoyant \
-Dcaffeine.simulator.policies.2=linked.Lru
Note: each policy creates instances per admission filter (default: Always, TinyLfu, Clairvoyant). If a trace has no weight data, weighted-only policies are silently skipped.
Report:
/sim-compare invocation for full analysis