-
Notifications
You must be signed in to change notification settings - Fork 0
40 lines (37 loc) · 1.31 KB
/
Copy pathbenchmark.yml
File metadata and controls
40 lines (37 loc) · 1.31 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
name: Benchmark
on:
workflow_dispatch:
inputs:
lines:
description: Source lines in the deterministic synthetic corpus
required: false
default: '2000'
type: string
runs:
description: Number of cold/warm measurement pairs
required: false
default: '1'
type: string
env:
CARGO_TERM_COLOR: always
RUSTFLAGS: "-D warnings"
jobs:
scan:
name: small scan benchmark
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: dtolnay/rust-toolchain@stable
# This produces evidence only. Performance targets are deliberately not
# CI gates, so a changed runner does not block unrelated correctness work.
- name: Measure a deterministic synthetic corpus
shell: bash
run: |
bench_root="$(mktemp -d)"
cargo build --release -p codehelion
cargo run --release -p codehelion-eval --bin codehelion-bench -- \
corpus --out "$bench_root/corpus" --lines "${{ inputs.lines }}" --seed 42 --clone-percent 5
for mode in fast structural; do
cargo run --release -p codehelion-eval --bin codehelion-bench -- \
scan --corpus "$bench_root/corpus" --binary target/release/codehelion --mode "$mode" --runs "${{ inputs.runs }}"
done