Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: add diagnostics and segmented vector #85

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

baszalmstra
Copy link
Contributor

This PR adds the use of segvec::SegVec to allocate clauses. This reduces the number of very large allocations performed by the library.

I also added functionality to report diagnostics to make it easier to debug what is going on.

@baszalmstra baszalmstra requested a review from wolfv November 28, 2024 09:03
@wolfv
Copy link
Member

wolfv commented Nov 28, 2024

Cool stuff! Did you benchmark that using segvec is beneficial?

The diagnostics are very nice.

@baszalmstra
Copy link
Contributor Author

I have not, I will run a benchmark at the end of the day.

@baszalmstra
Copy link
Contributor Author

But without it, I ran into issue with the solver trying to allocate 1.5GB in one go, which causes an OOM.

@baszalmstra
Copy link
Contributor Author

These are the timings results:

Untitled

There is no significant increase in outliers, but on average, the code became slightly slower.

Untitled-1

Ill try removing the segvec later and try again to see if thats the issue.

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