Feat/db ffi a #5
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: perf-smoke | |
| on: | |
| pull_request: | |
| workflow_dispatch: | |
| jobs: | |
| smoke: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Checkout bench repo | |
| uses: actions/checkout@v4 | |
| with: | |
| repository: Hyper66666/bench | |
| path: bench | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Cache Cargo | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Run benchmark smoke suites | |
| shell: bash | |
| run: | | |
| cargo run -p sgc -- bench run runtime --iterations 1 --warmup 1 | |
| cargo run -p sgc -- bench compile compile --iterations 1 | |
| cargo run -p sgc -- bench incremental incremental --iterations 1 | |
| cargo run -p sgc -- bench reflection runtime --iterations 1 --warmup 1 | |
| python3 ./bench/python_interop_bench.py --calls 5000 --samples 2 --warmup 1 | |
| python3 ./bench/bootstrap_generality_bench.py | |
| - name: Resolve latest benchmark reports | |
| id: reports | |
| shell: bash | |
| run: | | |
| echo "runtime=$(ls -1t bench/results/*-runtime-runtime.json | head -n1)" >> "$GITHUB_OUTPUT" | |
| echo "compile=$(ls -1t bench/results/*-compile-compile.json | head -n1)" >> "$GITHUB_OUTPUT" | |
| echo "incremental=$(ls -1t bench/results/*-incremental-incremental.json | head -n1)" >> "$GITHUB_OUTPUT" | |
| echo "reflection=$(ls -1t bench/results/*-reflection-runtime.json | head -n1)" >> "$GITHUB_OUTPUT" | |
| echo "interop=$(ls -1t bench/results/*-python-interop.json | head -n1)" >> "$GITHUB_OUTPUT" | |
| echo "bootstrap=$(ls -1t bench/results/*-bootstrap-generality.json | head -n1)" >> "$GITHUB_OUTPUT" | |
| - name: Run soft perf gate checks | |
| shell: bash | |
| run: | | |
| bash ./bench/scripts/perf-gate.sh --mode soft --sample "${{ steps.reports.outputs.runtime }}" | |
| bash ./bench/scripts/perf-gate.sh --mode soft --sample "${{ steps.reports.outputs.compile }}" | |
| bash ./bench/scripts/perf-gate.sh --mode soft --sample "${{ steps.reports.outputs.incremental }}" | |
| python3 ./scripts/reflection-perf-gate.py \ | |
| --mode soft \ | |
| --sample "${{ steps.reports.outputs.reflection }}" | |
| python3 ./bench/scripts/interop-bootstrap-gate.py \ | |
| --mode soft \ | |
| --interop-sample "${{ steps.reports.outputs.interop }}" \ | |
| --bootstrap-sample "${{ steps.reports.outputs.bootstrap }}" \ | |
| --max-sengoo-overhead-pct 80 |