Skip to content

Nightly Benchmarks #225

Nightly Benchmarks

Nightly Benchmarks #225

Workflow file for this run

name: Nightly Benchmarks
concurrency:
# The group causes runs to queue instead of running in parallel.
group: nightly-bench
# This queues manual triggers to run after scheduled benchmarks complete.
cancel-in-progress: false
on:
schedule:
- cron: "0 0 * * *" # daily
workflow_dispatch: { }
permissions:
id-token: write # enables AWS-GitHub OIDC
actions: read
contents: write
jobs:
sql:
uses: ./.github/workflows/sql-benchmarks.yml
secrets: inherit
with:
mode: "develop"
machine_type: ${{ matrix.machine_type.instance_name }}
# datafusion:vortex uses a lot of memory
benchmark_matrix: |
[
{
"id": "clickbench-nvme",
"subcommand": "clickbench",
"name": "Clickbench on NVME",
"targets": "datafusion:parquet,datafusion:vortex,datafusion:vortex-compact,datafusion:lance,duckdb:parquet,duckdb:vortex,duckdb:vortex-compact,duckdb:duckdb",
"build_args": "--features lance"
},
{
"id": "tpch-nvme",
"subcommand": "tpch",
"name": "TPC-H on NVME",
"targets": "datafusion:parquet,datafusion:vortex,datafusion:lance,duckdb:parquet,duckdb:vortex,duckdb:duckdb",
"scale_factor": "10.0",
"build_args": "--features lance"
},
{
"id": "tpch-s3",
"subcommand": "tpch",
"name": "TPC-H on S3",
"local_dir": "vortex-bench/data/tpch/10.0",
"remote_storage": "s3://vortex-bench-dev-eu/${{github.ref_name}}/${{github.run_id}}/tpch/10.0/",
"targets": "datafusion:parquet,datafusion:vortex,datafusion:lance,duckdb:parquet,duckdb:vortex",
"scale_factor": "10.0",
"build_args": "--features lance"
},
{
"id": "tpch-nvme",
"subcommand": "tpch",
"name": "TPC-H on NVME",
"targets": "datafusion:parquet,duckdb:parquet,duckdb:vortex",
"scale_factor": "100"
},
{
"id": "tpch-s3",
"subcommand": "tpch",
"name": "TPC-H on S3",
"local_dir": "vortex-bench/data/tpch/100.0",
"remote_storage": "s3://vortex-bench-dev-eu/${{github.ref_name}}/${{github.run_id}}/tpch/100.0/",
"targets": "datafusion:parquet,duckdb:parquet,duckdb:vortex",
"scale_factor": "100.0"
},
]
strategy:
# A single run not should kill the others
fail-fast: false
matrix:
machine_type:
- id: x86
instance_name: c6id.8xlarge
# TODO(joe): support other arch
# - id: arm64
# instance_name: c6gd.8xlarge