From eac735c7fa37c5e4c2808fec79e2141afdd60097 Mon Sep 17 00:00:00 2001 From: Mikhail Kot Date: Wed, 12 Aug 2026 17:01:34 +0100 Subject: [PATCH] CI: run each benchmark query in a separate process Signed-off-by: Mikhail Kot --- .agents/skills/bench-performance/SKILL.md | 29 ++-- bench-orchestrator/bench_orchestrator/cli.py | 157 ++++++++++++++---- .../bench_orchestrator/runner/executor.py | 29 +++- bench-orchestrator/tests/test_cli.py | 13 +- bench-orchestrator/tests/test_executor.py | 20 ++- benchmarks/datafusion-bench/src/main.rs | 18 +- benchmarks/duckdb-bench/src/main.rs | 18 +- 7 files changed, 224 insertions(+), 60 deletions(-) diff --git a/.agents/skills/bench-performance/SKILL.md b/.agents/skills/bench-performance/SKILL.md index c42a1271ddb..38af905d65b 100644 --- a/.agents/skills/bench-performance/SKILL.md +++ b/.agents/skills/bench-performance/SKILL.md @@ -110,10 +110,13 @@ assuming a flag exists. Source: `benchmarks/datafusion-bench/src/main.rs`. +Runs each selected query exactly once per process. +To repeat a query manually, loop the command. + Supported diagnostics: - `--formats parquet,vortex,vortex-compact,lance,arrow`; -- `--queries 6`, `--exclude-queries 1,2`, `--iterations N`, `--display-format gh-json`; +- `--queries 6`, `--exclude-queries 1,2`, `--print-queries`, `--display-format gh-json`; - `--hide-progress-bar`, `-o /private/tmp/out.jsonl`, `--ingest-jsonl /private/tmp/out.ingest.jsonl`; - `--verbose`, `--tracing`, `--track-memory`, `--runner NAME`, `--opt key=value`; - `--explain` prints query plans instead of timing; @@ -127,7 +130,7 @@ Examples: ```bash FEATURE_TOGGLE=1 RUST_LOG=vortex_datafusion=debug,vortex_layout=debug,datafusion=warn \ target/release_debug/datafusion-bench tpch \ - --display-format gh-json --iterations 5 --hide-progress-bar \ + --display-format gh-json --hide-progress-bar \ --formats --queries --show-metrics \ -o /private/tmp/