Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ env:
ACTIONLINT_VERSION: "1.7.12"
DPRINT_VERSION: "0.54.0"
JUST_VERSION: "1.51.0"
NEXTEST_VERSION: "0.9.136"
RUMDL_VERSION: "0.1.94"
SHFMT_VERSION: "3.13.1"
SHFMT_SHA256_DARWIN_AMD64: "6feedafc72915794163114f512348e2437d080d0047ef8b8fa2ec63b575f12af"
Expand Down Expand Up @@ -68,6 +69,16 @@ jobs:
with:
tool: just@${{ env.JUST_VERSION }}

- name: Install cargo-nextest
if: matrix.os != 'windows-latest'
uses: taiki-e/install-action@b550161ef8a7bc4f2a671c0b03a18ac9ccedea1e # v2.79.1
with:
tool: nextest@${{ env.NEXTEST_VERSION }}

- name: Verify cargo-nextest
if: matrix.os != 'windows-latest'
run: cargo nextest --version

- name: Install uv (for Python scripts and pytest)
if: matrix.os != 'windows-latest'
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
Expand Down
5 changes: 4 additions & 1 deletion .github/workflows/codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,11 +65,14 @@ jobs:
with:
tool: just@${{ env.JUST_VERSION }}

- name: Install nextest
- name: Install cargo-nextest
uses: taiki-e/install-action@b550161ef8a7bc4f2a671c0b03a18ac9ccedea1e # v2.79.1
with:
tool: nextest@${{ env.NEXTEST_VERSION }}

- name: Verify cargo-nextest
run: cargo nextest --version

- name: Run tests with nextest (for JUnit XML)
run: |
# Note: We run tests twice in this workflow (nextest + cargo-llvm-cov).
Expand Down
5 changes: 5 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,11 @@ name = "tds_clone"
path = "benches/tds_clone.rs"
harness = false

[[bench]]
name = "remove_vertex"
path = "benches/remove_vertex.rs"
harness = false

[[bench]]
name = "ci_performance_suite"
path = "benches/ci_performance_suite.rs"
Expand Down
2 changes: 2 additions & 0 deletions benches/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ predicates fast across 2D-5D.
| `circumsphere_containment.rs` | Compare circumsphere predicate methods | 2D-5D fixed, 3D random, edge cases | ~5 min | Predicate tuning, summaries |
| `cold_path_predicates.rs` | Track hot/cold predicate paths | 2D-5D hot queries, near-boundary cases | ~2-5 min | Predicate optimization work |
| `profiling_suite.rs` | Large-scale construction, memory, query, validation profiling | 2D/3D 10k, 4D 3k, 5D 1k | ~2-3 hr | Manual/monthly |
| `remove_vertex.rs` | Vertex removal and rollback cost | 2D-5D fixed cases | ~1-5 min | Vertex removal |
| `tds_clone.rs` | `Tds::clone()` snapshot cost | Deterministic 2D-5D triangulations | ~1-3 min | Rollback design baselines |
| `topology_guarantee_construction.rs` | Cost of topology guarantee modes | 2D-5D construction cases | ~5-15 min | Manual topology policy work |

Expand All @@ -29,6 +30,7 @@ predicates fast across 2D-5D.
| Compare against an existing baseline | `just perf-compare <file>` |
| Release performance summary | `just bench-perf-summary` |
| Smoke-test benchmark harnesses | `just bench-smoke` |
| Vertex removal mutation baseline | `cargo bench --profile perf --bench remove_vertex -- --noplot` |
| Predicate comparison | `cargo bench --profile perf --bench circumsphere_containment -- --noplot` |
| Predicate cold-path work | `cargo bench --profile perf --bench cold_path_predicates -- --noplot` |
| Large-scale scaling suite | `cargo bench --profile perf --bench profiling_suite -- --noplot` |
Expand Down
Loading
Loading