perf!: optimize exact conversion and dense 4D determinants - #238
Conversation
- Avoid redundant fraction reduction in strict RationalVector conversion. - Share minors in dense exact 4×4 determinants while preserving the sparse fast path. - Add adversarial solve benchmarks across D=2,3,4,5,8,16,32,64 and exact-arithmetic diagnostics. - Include Gaussian reference working-copy costs in benchmark timings. - Document the decision to retain existing LU/LDLT solve finalization after finding no repeatable speedup. - Align tooling with Rust 1.98.1 and refresh dependency and tool pins. BREAKING CHANGE: la-stack now requires Rust 1.98.1. Closes #234
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Essentials Run ID: ⛔ Files ignored due to path filters (2)
📒 Files selected for processing (21)
Included review availability: 2 reviews are currently available. Your included PR review attempts over the past 7 days set your current allowance at 3 reviews per hour. 📝 WalkthroughWalkthroughThe PR adds exact rational conversion and determinant diagnostics, validated LU benchmark scenarios, arithmetic and solve-finalization regression tests, benchmark documentation, and Rust/toolchain version updates. ChangesExact arithmetic and determinant diagnostics
Validated LU diagnostic benchmarks
Solve arithmetic and finalization regression coverage
Toolchain and benchmark documentation
Estimated code review effort: 4 (Complex) | ~45 minutes Merge Risk: ⚪ Minimal · up to No actionable merge-blocking risk remains in the reviewed changes. Sequence Diagram(s)sequenceDiagram
participant FixtureBuilder
participant LaStack
participant Nalgebra
participant Faer
participant Criterion
FixtureBuilder->>LaStack: build and validate LU scenarios
FixtureBuilder->>Nalgebra: solve reference inputs
FixtureBuilder->>Faer: solve reference inputs
LaStack->>Criterion: benchmark complete and reusable-factor solves
Nalgebra->>Criterion: benchmark reference solves
Faer->>Criterion: benchmark reference solves
🚥 Pre-merge checks | ✅ 3 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (3 passed)
Full details: Out of Scope Changes checkExplanation The pull request includes substantial work unrelated to issue
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #238 +/- ##
==========================================
+ Coverage 98.00% 98.04% +0.03%
==========================================
Files 13 13
Lines 6579 6694 +115
==========================================
+ Hits 6448 6563 +115
Misses 131 131
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. |
BREAKING CHANGE: la-stack now requires Rust 1.98.1.
Closes #234
Summary by CodeRabbit
Compatibility
Improvements
Benchmarks & Validation
Documentation & Maintenance