Avatar for the vortex-data user
vortex-data
vortex
BlogDocsChangelog

Performance History

Latest Results

ci: cut wasted minutes from measurement_id and WASM jobs (#8776) ## Summary Three targeted fixes from profiling recent CI runs (job/step timings + logs from PR runs of `Linters and Tests`): - **`measurement_id golden vectors`: 6.2 min → ~20 s.** The `setup-uv` action defaults to `uv sync --all-extras --dev`, which builds the vortex-data PyO3 extension via maturin on an uncached `ubuntu-latest` runner — ~6 min of the job (verified in job logs: `Run uv sync --all-extras --dev` → `Building vortex-data`). The test itself takes ~1 s and uses `uv run --no-project`, so it needs no workspace packages. Pass `sync: false`, matching the existing `python-cuda-test` job. - **WASM integration smoke test: ~5.2 min → expected ~1–2 min.** It was the only Rust-compiling job left on plain `ubuntu-latest` with no compiler cache; ~4.5 min is a cold `cargo build`. Moved to the prebuilt runs-on image with S3 sccache, following the same pattern as the other build jobs (fork fallback to `ubuntu-latest` preserved; `rustup target add wasm32-wasip1` mirrors what the wasm32 build job does). - **Windows sccache observability.** `Rust tests (windows-x64)` is the ci.yml PR critical path (consistently 6.8–7.7 min across the last 8 PR runs, ~5 min of it compile). The sccache server demonstrably starts, but logs give no way to see hit rates. Added an `sccache --show-stats` step (`if: always()`, main repo only) so cache effectiveness on Windows is visible per run. ## Not included (infra-side observations from the same investigation) - Codspeed PR runs take 9–14 min but shards compute for only 0.8–4 min — they queue 5.5–9.8 min for `amd64-medium` runners while concurrent ci.yml jobs get runners in <1 min. One PR push requests ~26 runs-on VMs at once; this looks like a concurrent-instance/pool cap in `.github-private` (this repo's `runs-on.yml` only defines images). Raising capacity there, or consolidating the 8 Codspeed shards to 4, would cut the largest remaining chunk of PR wall clock. - The Windows pool uses `m8i-flex.2xlarge` (8 vCPU); a size bump would directly shrink the PR critical path since compile dominates and linking 53 test binaries is uncacheable. ## Checks - `yamllint --strict -c .yamllint.yaml .github/workflows/ci.yml` — passes. - Workflow-only change; no Rust/Python code touched, so no cargo/pytest checks were run per repo guidance. The WASM job change is best validated by this PR's own CI run. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Signed-off-by: Andrew Duffy <andrew@a10y.dev> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
develop
32 minutes ago

Latest Branches

CodSpeed Performance Gauge
+15%
Add TakeSlices for fixed-size-list take#8674
2 hours ago
a95022a
codex/take-slices-fsl
CodSpeed Performance Gauge
0%
3 hours ago
521d01e
codex/cost-model-query-performance
CodSpeed Performance Gauge
0%
3 hours ago
306ea83
ct/union-array
© 2026 CodSpeed Technology
Home Terms Privacy Docs