name: bench
on:
pull_request:
paths-ignore:
- README.md
- LICENSE-APACHE
- LICENSE-MIT
push:
branches: main
paths-ignore:
- README.md
- LICENSE-APACHE
- LICENSE-MIT
env:
CARGO_INCREMENTAL: 0
CARGO_TERM_COLOR: always
RUST_LOG_STYLE: always
defaults:
run:
shell: bash
jobs:
bench-x86_64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
- name: Test scalar paths
run: cargo test --features force-scalar --release
- name: Bench scalar baseline
run: cargo bench --bench mod --features force-scalar -- --save-baseline scalar
- name: Bench SIMD vs scalar
run: cargo bench --bench mod -- --baseline scalar
bench-aarch64:
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
- name: Test scalar paths
run: cargo test --features force-scalar --release
- name: Bench scalar baseline
run: cargo bench --bench mod --features force-scalar -- --save-baseline scalar
- name: Bench NEON vs scalar
run: cargo bench --bench mod -- --baseline scalar
test-armv7:
runs-on: ubuntu-latest
env:
CARGO_BUILD_RUSTFLAGS: ""
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
- uses: cargo-bins/cargo-binstall@main
- name: Install cross
run: cargo binstall --no-confirm cross
- name: Test armv7 (scalar via QEMU)
run: cross test --target armv7-unknown-linux-gnueabihf --release