Skip to content

README: correct benchmarks to use KLU as the honest baseline#3

Merged
ChrisRackauckas-Claude merged 1 commit into
mainfrom
fix-readme-benchmark
May 30, 2026
Merged

README: correct benchmarks to use KLU as the honest baseline#3
ChrisRackauckas-Claude merged 1 commit into
mainfrom
fix-readme-benchmark

Conversation

@ChrisRackauckas-Claude
Copy link
Copy Markdown
Collaborator

Corrects the README benchmarks per the analysis in our discussion:

  • Use KLU (PureKLU) as the baseline. KLU's BTF+AMD isolates a few dense rows, so it handles the assembled S + U·V well and is the honest sparse comparison. Measured (n=5000, r=8): Woodbury 2.9 ms vs KLU 4.9 ms (~1.7×) on factor+solve, and 1.0 ms vs 3.0 ms (~3×) on the fixed-S reuse path. The advantage grows with the border width r.
  • Fix the bogus ~785×/~650× claims. Those came from a benchmark that built a dense n×n U*V intermediate every iteration — it was timing dense-matrix formation, not re-KLU.
  • Reframe UMFPACK/dense honestly. UMFPACK fills on the dense rows (~120× slower; COLAMD does not defer them), dense is O(n³) (~280×).
  • Drop an unverified "≈7×" aside in the caching example.

Docs-only. 🤖 Generated with Claude Code

The prior numbers (a) compared against UMFPACK/dense, which fill or scale O(n^3) on the
dense-row structure, overstating the advantage, and (b) included a benchmark bug that timed
a dense n-by-n U*V formation as if it were re-KLU (the bogus ~785x/~650x figures). KLU's
BTF+AMD isolates a few dense rows, so it is the honest sparse baseline: measured, Woodbury
is ~1.7x faster on factor+solve and ~3x on the fixed-S reuse path at r=8 (the gap grows
with the border width r). UMFPACK fills on the dense rows (~120x slower); dense is O(n^3).

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ChrisRackauckas-Claude ChrisRackauckas-Claude merged commit 7098d44 into main May 30, 2026
11 of 12 checks passed
@ChrisRackauckas-Claude ChrisRackauckas-Claude deleted the fix-readme-benchmark branch May 30, 2026 02:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants