Files
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2eed48ad0b chore(deps): update actions/checkout digest to 3d3c42e (#1341)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-20 21:44:02 +00:00

110 lines
3.6 KiB
YAML

name: Allocator Bench
on:
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}
cancel-in-progress: false
permissions:
contents: read
jobs:
bench:
name: ${{ matrix.platform }} (tokio-multi-thread=${{ matrix.tokio_multi_thread }}, ${{ matrix.allocator }})
runs-on: ${{ matrix.runner }}
strategy:
fail-fast: false
matrix:
allocator:
- system
- jemalloc
- mimalloc_v2
- mimalloc_v2_no_thp
- mimalloc_v3
- mimalloc_v3_no_thp
tokio_multi_thread: [true, false]
platform:
- ubuntu-24.04-arm
- ubuntu-24.04
- windows-2025
- windows-11-arm
- macos-26
- macos-26-intel
- alpine
- alpine-arm
include:
- platform: ubuntu-24.04-arm
runner: ubuntu-24.04-arm
alpine: false
- platform: ubuntu-24.04
runner: ubuntu-24.04
alpine: false
- platform: windows-2025
runner: windows-2025
alpine: false
- platform: windows-11-arm
runner: windows-11-arm
alpine: false
- platform: macos-26
runner: macos-26
alpine: false
- platform: macos-26-intel
runner: macos-26-intel
alpine: false
- platform: alpine
runner: ubuntu-24.04
alpine: true
- platform: alpine-arm
runner: ubuntu-24.04-arm
alpine: true
exclude:
- platform: windows-2025
allocator: jemalloc
- platform: windows-11-arm
allocator: jemalloc
- platform: windows-2025
allocator: mimalloc_v2_no_thp
- platform: windows-2025
allocator: mimalloc_v3_no_thp
- platform: windows-11-arm
allocator: mimalloc_v2_no_thp
- platform: windows-11-arm
allocator: mimalloc_v3_no_thp
- platform: macos-26
allocator: mimalloc_v2_no_thp
- platform: macos-26
allocator: mimalloc_v3_no_thp
- platform: macos-26-intel
allocator: mimalloc_v2_no_thp
- platform: macos-26-intel
allocator: mimalloc_v3_no_thp
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
persist-credentials: false
- if: ${{ !matrix.alpine }}
uses: actions-rust-lang/setup-rust-toolchain@166cdcfd11aee3cb47222f9ddb555ce30ddb9659 # v1
with:
toolchain: beta
cache: true
cache-key: allocator-bench-${{ matrix.runner }}-${{ matrix.allocator }}
- if: ${{ !matrix.alpine && runner.os != 'Windows' }}
shell: bash
env:
ALLOCATOR: ${{ matrix.allocator }}
TOKIO_MULTI_THREAD: ${{ matrix.tokio_multi_thread }}
PLATFORM_LABEL: ${{ matrix.platform }}
run: bash .github/scripts/allocator_bench_unix.sh
- if: ${{ !matrix.alpine && runner.os == 'Windows' }}
shell: pwsh
env:
ALLOCATOR: ${{ matrix.allocator }}
TOKIO_MULTI_THREAD: ${{ matrix.tokio_multi_thread }}
PLATFORM_LABEL: ${{ matrix.platform }}
run: ./.github/scripts/allocator_bench_windows.ps1
- if: ${{ matrix.alpine }}
shell: bash
env:
ALLOCATOR: ${{ matrix.allocator }}
TOKIO_MULTI_THREAD: ${{ matrix.tokio_multi_thread }}
PLATFORM_LABEL: ${{ matrix.platform }}
run: bash .github/scripts/allocator_bench_alpine.sh