Skip to content

Conversation

@ViralBShah
Copy link
Member

@ViralBShah ViralBShah commented Oct 20, 2025

From #72

@codecov
Copy link

codecov bot commented Oct 20, 2025

Codecov Report

❌ Patch coverage is 82.16561% with 28 lines in your changes missing coverage. Please review.
✅ Project coverage is 77.96%. Comparing base (b1d0917) to head (02df33c).
⚠️ Report is 9 commits behind head on master.

Files with missing lines Patch % Lines
src/libSparse/wrappers.jl 71.01% 20 Missing ⚠️
src/libSparse/AAFactorizations.jl 83.78% 6 Missing ⚠️
src/libSparse/AASparseMatrices.jl 96.07% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master      #90      +/-   ##
==========================================
+ Coverage   76.22%   77.96%   +1.73%     
==========================================
  Files           4        7       +3     
  Lines         265      422     +157     
==========================================
+ Hits          202      329     +127     
- Misses         63       93      +30     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ViralBShah
Copy link
Member Author

@luke-kiernan Should we merge this?

@ViralBShah
Copy link
Member Author

The error messages are slightly different in different macOS releases.

@luke-kiernan
Copy link
Collaborator

@luke-kiernan Should we merge this?

Sure! I would keep it as an experimental/developer feature, though. For my use case, I found that the performance is surprisingly poor, especially when compared to KLU.jl. I did some profiling and posted a question on the apple developer form, but never got an answer. But maybe someone else will find it more useful.

@ViralBShah
Copy link
Member Author

Oh that's good to know. I'll mark this as a draft PR for folks who want to experiment. I agree that without a performance benefit, there isn't much value to adding more code/dependencies.

@ViralBShah ViralBShah marked this pull request as draft October 20, 2025 19:20
@luke-kiernan
Copy link
Collaborator

That's specifically the solvers. The sparse matrix multiplication might be better. The other place where there's clear gains: LibSparse has a sparse factorization for symmetric non-positive definite matrices, which would be a new addition (SuiteSparse doesn't have one).

@ViralBShah
Copy link
Member Author

Coming to think of it - why not merge this? The tests are passing, and people can benchmark their own use cases and see what works for them.

@ViralBShah ViralBShah marked this pull request as ready for review October 21, 2025 16:25
@ViralBShah ViralBShah merged commit 5fb6e87 into master Oct 23, 2025
10 checks passed
@ViralBShah ViralBShah deleted the libSparse branch October 23, 2025 18:06
@ViralBShah
Copy link
Member Author

ViralBShah commented Oct 23, 2025

@oscardssmith @ChrisRackauckas I suppose I should have checked with you before merging. Would a dependency on SparseArrays in here create problems with LinearSolve, especially with NO_GPL builds?

I can still revert this, since I haven't tagged it.

@ViralBShah
Copy link
Member Author

@oscardssmith said this is ok.

@ViralBShah
Copy link
Member Author

In very quick sparse matmul and matvec tests, I find the Julia implementations faster. However, having an easy API to test all this is really valuable.

@ChrisRackauckas
Copy link
Member

Yes SparseArrays does not load the GPL libraries in Base no GPL mode, so this is fine.

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.

3 participants