[go: up one dir, main page]

gxhash 3.4.1

GxHash non-cryptographic algorithm
Documentation
name: Benchmark

on:
  workflow_dispatch:

env:
  CARGO_TERM_COLOR: always

jobs:
  benchmark-x86:
    name: Benchmark X86
    runs-on: buildjet-2vcpu-ubuntu-2204

    steps:
    - uses: actions/checkout@v4

    - name: Update rust
      run: rustup update

    - name: Benchmark
      run: cargo bench --bench throughput --features bench-plot

    - uses: actions/upload-artifact@v3
      with:
        name: benches
        path: benches/throughput/x86_64.svg

  benchmark-x86-avx2:
    name: Benchmark X86 AVX2
    runs-on: buildjet-2vcpu-ubuntu-2204

    steps:
    - uses: actions/checkout@v4

    - name: Switch to nightly rust
      run: rustup default nightly

    - name: Benchmark
      run: cargo bench --bench throughput --features bench-plot hybrid

    - uses: actions/upload-artifact@v3
      with:
        name: benches
        path: benches/throughput/x86_64-hybrid.svg

  benchmark-arm:
    name: Benchmark ARM
    runs-on: buildjet-2vcpu-ubuntu-2204-arm

    steps:
    - uses: actions/checkout@v4

    - name: Update rust
      run: rustup update

    - name: Benchmark
      run: cargo bench --bench throughput --features bench-plot

    - uses: actions/upload-artifact@v3
      with:
        name: benches
        path: benches/throughput/aarch64.svg

  commit:
    name: Commit & Push
    runs-on: buildjet-2vcpu-ubuntu-2204
    needs: [benchmark-x86, benchmark-x86-avx2, benchmark-arm]

    permissions:
      contents: write

    steps:
    - uses: actions/checkout@v4
    
    - name: Download Benchmark Results
      uses: actions/download-artifact@v3
      with:
        name: benches
        path: benches/throughput

    - name: Commit & Push Benchmark Results
      uses: stefanzweifel/git-auto-commit-action@v5
      with:
        file_pattern: '*.svg'
        commit_message: Update Benchmark Results
        commit_user_name: Benchmark Bot
        commit_user_email: benchmark-bot@noreply.com
        commit_author: Benchmark Bot <benchmark-bot@noreply.com>