Commit 1ce5abe
Profile existing SimpleMapStore: Criterion benchmarks for insert, query, and store analyze (#211)
* Add Criterion benchmarks for SimpleMapStore performance profiling
Adds six benchmark groups to measure the existing SimpleMapStore's
algorithm complexity before the inverted-index replacement in PR #175:
- insert/batch_size: O(B) insert scaling across 10–5000 items
- insert/num_agg_ids: lock overhead across 1–200 aggregation IDs
- query/range_store_size: O(W·log W + k) range query across 100–5000 windows
- query/exact_store_size: O(1) HashMap lookup verified across store sizes
- store_analyze/num_agg_ids: O(A) earliest-timestamp scan across 10–1000 IDs
- concurrent_reads/thread_count: write-lock serialisation with 1–8 threads
Both Global and PerKey lock strategies are profiled in each group.
Results land in target/criterion/ as HTML reports.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Fix cargo fmt violations in bench and add dummy bench to Dockerfile
- Apply rustfmt to simple_store_bench.rs (alignment, closure brace style)
- Add dummy benches/simple_store_bench.rs stub to Dockerfile dep-cache layer
so cargo can parse the [[bench]] manifest entry during docker build
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Expand benchmarks: larger ranges, KLL sketch accumulator
- Increase parameter ranges (batch: 100→50k, windows: 500→50k,
agg IDs: 1→1k/5k, threads: 1→16)
- Add DatasketchesKLLAccumulator k=200 variant to insert and range
query benchmarks to expose realistic sketch clone cost
- KLL results show ~10x overhead on range queries vs trivial SumAccumulator
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Fix asap-planner-rs Dockerfile: add dummy bench stub for simple_store_bench
Same fix as asap-query-engine/Dockerfile — the workspace Cargo.toml for
asap-query-engine declares [[bench]] simple_store_bench, so Cargo requires
the file to exist even during dependency-only builds.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>1 parent 0866684 commit 1ce5abe
5 files changed
Lines changed: 594 additions & 0 deletions
File tree
- asap-planner-rs
- asap-query-engine
- benches
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| 16 | + | |
16 | 17 | | |
17 | 18 | | |
18 | 19 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
60 | 60 | | |
61 | 61 | | |
62 | 62 | | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
63 | 68 | | |
64 | 69 | | |
65 | 70 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| 24 | + | |
24 | 25 | | |
25 | 26 | | |
26 | 27 | | |
| |||
0 commit comments