New here? Read these in order:
- Install and build: get the tools built.
- cachesim: run your first simulations and compare algorithms.
- Trace analysis: understand the workload behind the numbers.
Commands that start with ./bin/ are run from the build directory, _build/, which is why the sample traces appear as ../data/.
- cachesim: simulate caches, compare eviction algorithms, and sweep cache sizes.
- traceAnalyzer: measure and plot request rate, object size, reuse, and popularity.
- mrcProfiler: build miss ratio curves for very large traces with sampling.
- Trace utilities: print, convert, sample, and filter traces.
- Synthetic traces: generate uniform or Zipf workloads without a trace file.
- Oracle traces and zero-size requests: what to check before trusting Belady results.
- Open-source cache datasets: real traces to experiment with.
- lcp format: LLM prefix-cache traces, used by PrefixSim.
- Plugins: try a new eviction algorithm in C/C++ or Python without changing libCacheSim.
- Python binding: the easiest way to script simulations.
- Using the library: build your own simulator in C/C++.
- Extending libCacheSim: add an eviction algorithm or a trace reader to the library.
- C API reference.
- Contributing
- Adoption census: who outside the project uses libCacheSim, with sources.
- FAQ
- Discussions for questions
- Issue tracker for bugs