Carved out of #524
greedy_assign resolves AtomicCosts per candidate instead of applying one flat cost to every candidate in a run:
- CMS/HLL/KLL candidates look up sketch-bench's exported atomic-cost table by exact
(sketch, params) key — matches candidate_gen.rs's param grid exactly, no interpolation.
- Every other
AggregationType (Sum, MinMax, CountMinSketchWithHeap, Hydra, ...) keeps the existing flat stub (AtomicCosts::default()), logged with a warning so the fallback is visible rather than silent.
- The table loads at runtime from a file path (
--atomic-costs on optimizer_cli and candidate-gen-dump), not compiled in. The loader is a trivial deserialize — no raw-record math on the ASAPQuery side.
candidate-gen-dump --atomic-costs <path> prints each candidate's resolved cost, labeled [real]/[stub], for auditing.
Deliberately not in scope here (tracked on #524 instead):
Carved out of #524
greedy_assignresolvesAtomicCostsper candidate instead of applying one flat cost to every candidate in a run:(sketch, params)key — matchescandidate_gen.rs's param grid exactly, no interpolation.AggregationType(Sum, MinMax, CountMinSketchWithHeap, Hydra, ...) keeps the existing flat stub (AtomicCosts::default()), logged with a warning so the fallback is visible rather than silent.--atomic-costsonoptimizer_cliandcandidate-gen-dump), not compiled in. The loader is a trivial deserialize — no raw-record math on the ASAPQuery side.candidate-gen-dump --atomic-costs <path>prints each candidate's resolved cost, labeled[real]/[stub], for auditing.Deliberately not in scope here (tracked on #524 instead):
CountMinSketchWithHeap's analytic memory bound (heap_size · avg_key_size) — still rides the flat stub.merge_cpu_secsfor CMS looks ~1000x too high next to its own insert/query numbers (found viacandidate-gen-dump, currently makes CMS lose toCountMinSketchWithHeap's stub on Count queries) — see sketch-bench PR VictoriaMetrics docker service orchestrates a compose file with multiple containers, and thus breaks the semantics of functions likeget_container_nameorget_health_endpoint#92's description. Also sketch-bench#14 (HLL memory bug) and asap_sketchlib#69 (subtractunimplemented, sosubtract_cpu_secsis absent from the table entirely).