Skip to content

Commit 1e30897

Browse files
authored
Run benchmarks on object storage more times (#6920)
Part of the overall attempt to reduce overall noise in benchmarks, just running benchmarks on S3 twice as many times. Signed-off-by: Adam Gutglick <adam@spiraldb.com>
1 parent f29ccde commit 1e30897

2 files changed

Lines changed: 17 additions & 3 deletions

File tree

.github/scripts/run-sql-bench.sh

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
#
1616
# Options:
1717
# --scale-factor <sf> Scale factor for the benchmark (e.g., 1.0, 10.0)
18+
# --iterations <n> Number of iterations to pass to each benchmark binary
1819
# --remote-storage <url> Remote storage URL (e.g., s3://bucket/path/)
1920
# If provided, runs in remote mode (no lance support).
2021
# --benchmark-id <id> Benchmark ID for error messages (e.g., tpch-s3)
@@ -26,6 +27,7 @@ targets="$2"
2627
shift 2
2728

2829
scale_factor=""
30+
iterations=""
2931
remote_storage=""
3032
benchmark_id=""
3133

@@ -35,6 +37,10 @@ while [[ $# -gt 0 ]]; do
3537
scale_factor="$2"
3638
shift 2
3739
;;
40+
--iterations)
41+
iterations="$2"
42+
shift 2
43+
;;
3844
--remote-storage)
3945
remote_storage="$2"
4046
shift 2
@@ -91,6 +97,9 @@ if [[ -n "$scale_factor" ]]; then
9197
opts="--opt scale-factor=$scale_factor"
9298
fi
9399
fi
100+
if [[ -n "$iterations" ]]; then
101+
opts="-i $iterations $opts"
102+
fi
94103

95104
touch results.json
96105

.github/workflows/sql-benchmarks.yml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@ on:
3737
"local_dir": "vortex-bench/data/tpch/1.0",
3838
"remote_storage": "s3://vortex-ci-benchmark-datasets/${{github.ref_name}}/${{github.run_id}}/tpch/1.0/",
3939
"targets": "datafusion:parquet,datafusion:vortex,datafusion:vortex-compact,duckdb:parquet,duckdb:vortex,duckdb:vortex-compact",
40-
"scale_factor": "1.0"
40+
"scale_factor": "1.0",
41+
"iterations": "10"
4142
},
4243
{
4344
"id": "tpch-nvme-10",
@@ -53,7 +54,8 @@ on:
5354
"local_dir": "vortex-bench/data/tpch/10.0",
5455
"remote_storage": "s3://vortex-ci-benchmark-datasets/${{github.ref_name}}/${{github.run_id}}/tpch/10.0/",
5556
"targets": "datafusion:parquet,datafusion:vortex,datafusion:vortex-compact,duckdb:parquet,duckdb:vortex,duckdb:vortex-compact",
56-
"scale_factor": "10.0"
57+
"scale_factor": "10.0",
58+
"iterations": "10"
5759
},
5860
{
5961
"id": "tpcds-nvme",
@@ -83,7 +85,8 @@ on:
8385
"local_dir": "vortex-bench/data/fineweb",
8486
"remote_storage": "s3://vortex-ci-benchmark-datasets/${{github.ref_name}}/${{github.run_id}}/fineweb/",
8587
"targets": "datafusion:parquet,datafusion:vortex,datafusion:vortex-compact,duckdb:parquet,duckdb:vortex,duckdb:vortex-compact",
86-
"scale_factor": "100"
88+
"scale_factor": "100",
89+
"iterations": "10"
8790
},
8891
{
8992
"id": "polarsignals",
@@ -199,6 +202,7 @@ jobs:
199202
OTEL_RESOURCE_ATTRIBUTES: "bench-name=${{ matrix.id }}"
200203
run: |
201204
bash scripts/bench-taskset.sh .github/scripts/run-sql-bench.sh "${{ matrix.subcommand }}" "${{ matrix.targets }}" \
205+
${{ matrix.iterations && format('--iterations {0}', matrix.iterations) || '' }} \
202206
${{ matrix.scale_factor && format('--scale-factor {0}', matrix.scale_factor) || '' }}
203207
204208
- name: Run ${{ matrix.name }} benchmark (remote)
@@ -213,6 +217,7 @@ jobs:
213217
OTEL_RESOURCE_ATTRIBUTES: "bench-name=${{ matrix.id }}"
214218
run: |
215219
bash scripts/bench-taskset.sh .github/scripts/run-sql-bench.sh "${{ matrix.subcommand }}" "${{ matrix.targets }}" \
220+
${{ matrix.iterations && format('--iterations {0}', matrix.iterations) || '' }} \
216221
--remote-storage "${{ matrix.remote_storage }}" \
217222
--benchmark-id "${{ matrix.id }}" \
218223
${{ matrix.scale_factor && format('--scale-factor {0}', matrix.scale_factor) || '' }}

0 commit comments

Comments
 (0)