You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Optimizer: param-aware atomic costs from sketch-bench #524
Part of #523 (Track 1: non-empirical gap 1 + empirical gap 1). Depends on sketch-bench#30 for the derived cost table this loads.
Match candidate_gen.rs's param grid (CMS_DEPTHS × CMS_WIDTHS etc.) exactly to sketch-bench's sweep grid — lookup by exact key, no interpolation.
cost_model.rs's ingest_cost/query_cost take atomic costs (mem/insert_cpu/merge_cpu/subtract_cpu/query_cpu) as a function of (sketch_type, params) instead of flat AtomicCosts constants.
Atomic-cost table loaded at runtime from a file path (CLI/config arg), not compiled in — regenerating sketch-bench data shouldn't require a rebuild. Loader deserializes sketch-bench's already-derived export directly (sketch-bench#30) — no raw-Record math in ASAPQuery.
Missing (sketch_type, params) entries (e.g. CountMinSketchWithHeap, not yet benchmarked) → drop that candidate silently, no crash, no stub fallback.
CountMinSketchWithHeap's cardinality-dependent memory: worst-case saturated bound (heap_size · avg_key_size), not a sketch-bench lookup.
Superseded by the rqe-optimizer MILP (ProjectASAP/sketch-bench#129, #794); the greedy optimizer was removed in #807. Remaining work tracked under #790 / ProjectASAP/sketch-bench#143. Per-(sketch, sketch_config) costs are now loaded at runtime from sketch-bench's study_saturation.py --phase optimizer-cost table (asap-planner-rs/src/optimizer/atomic_costs.rs).
Activity
docs(optimizer): document atomic_costs.rs and the --atomic-costs work…
feat(planner): cost candidates per (sketch_type, params) from sketch-…
docs(optimizer): update #524 status — cms-heap wrapper landed, not wi…
milindsrivastava1997 commentedon Oct 26, 2026
Superseded by the rqe-optimizer MILP (ProjectASAP/sketch-bench#129, #794); the greedy optimizer was removed in #807. Remaining work tracked under #790 / ProjectASAP/sketch-bench#143. Per-(sketch, sketch_config) costs are now loaded at runtime from sketch-bench's
study_saturation.py --phase optimizer-costtable (asap-planner-rs/src/optimizer/atomic_costs.rs).