Skip to content

chore(deps): update datafusion and friends to v54.2.0 (minor) (#2374) #1662

chore(deps): update datafusion and friends to v54.2.0 (minor) (#2374)

chore(deps): update datafusion and friends to v54.2.0 (minor) (#2374) #1662

Workflow file for this run

name: Benchmarks
on:
push:
branches: [ develop ]
permissions:
id-token: write # enables AWS-GitHub OIDC
actions: read
contents: write
deployments: write
jobs:
commit-metadata:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup AWS CLI
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::375504701696:role/GitHubBenchmarkRole
aws-region: us-east-1
- name: Upload Commit Metadata
shell: bash
run: |
set -Eeu -o pipefail -x
sudo apt-get update && sudo apt-get install -y jq
bash scripts/commit-json.sh > new-commit.json
bash scripts/cat-s3.sh vortex-benchmark-results-database commits.json new-commit.json
codspeed_bench:
name: Run Criterion benchmarks with Codspeed
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/cleanup
- uses: ./.github/actions/setup-rust
- name: Install Codspeed
shell: bash
run: cargo install --force cargo-codspeed --locked
- name: Build benchmark targets
env:
RUSTFLAGS: "-C target-cpu=native"
# We want to run micro-benchmarks with release profile.
# We run with all features since we feature gate bench utils.
run: cargo codspeed build --features test-harness --exclude bench-vortex --workspace --profile release
- name: Run the benchmarks
uses: CodSpeedHQ/action@v3
with:
run: cargo codspeed run
token: ${{ secrets.CODSPEED_TOKEN }}
bench:
strategy:
matrix:
benchmark:
- id: random_access
name: Random Access
- id: compress
name: Vortex Compression
runs-on: [self-hosted, gcp]
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/cleanup
- uses: ./.github/actions/setup-rust
# The compression benchmarks rely on DuckDB being installed to convert CSV to Parquet
- name: Install DuckDB
uses: opt-nc/setup-duckdb-action@v1.0.10
if: runner.environment != 'self-hosted'
with:
version: v1.0.0
- name: Set tempdir
if: runner.environment == 'self-hosted'
run: |
echo "TMPDIR=/work" >> $GITHUB_ENV
- name: Run benchmark
shell: bash
env:
BENCH_VORTEX_RATIOS: '.*'
RUSTFLAGS: '-C target-cpu=native'
run: |
cargo install cargo-criterion
sudo apt-get update && sudo apt-get install -y jq
cargo criterion \
--bench ${{ matrix.benchmark.id }} \
--features mimalloc \
--message-format=json \
> ${{ matrix.benchmark.id }}-raw.json
cat ${{ matrix.benchmark.id }}-raw.json \
| bash scripts/coerce-criterion-json.sh \
> ${{ matrix.benchmark.id }}.json
- name: Setup AWS CLI
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::375504701696:role/GitHubBenchmarkRole
aws-region: us-east-1
- name: Upload Benchmark Results
shell: bash
run: |
bash scripts/cat-s3.sh vortex-benchmark-results-database data.json ${{ matrix.benchmark.id }}.json
sql:
uses: ./.github/workflows/sql-benchmarks.yml
with:
mode: 'develop'