Skip to content

Bitwuzla: Optimize memory usage#647

Merged
baierd merged 3 commits intomasterfrom
646-bitwuzla-cvc5-optimize-allsat-implementation
Apr 12, 2026
Merged

Bitwuzla: Optimize memory usage#647
baierd merged 3 commits intomasterfrom
646-bitwuzla-cvc5-optimize-allsat-implementation

Conversation

@daniel-raffler
Copy link
Copy Markdown
Contributor

Hello,

this PR adds two optimizations for Bitwuzla to bring down memory usage:

  • it adds an Evaluator to skip model generation in allSat
  • it further optimizes extractVariablesAndUFs to avoid creating unnecessary Java proxies in the visitor

Here are some results from SVCOMP with a 60s time limit: SV-COMP26_no-overflow

The left column is before this PR, the middle is with the new Evaluator, and the right is with the extractVaraiblesAndUFs optimization (and the Evaluator)

And here's the scatter plot for a before-after comparison:
Screenshot From 2026-04-12 12-16-21

@daniel-raffler daniel-raffler requested a review from baierd April 12, 2026 10:33
@daniel-raffler daniel-raffler self-assigned this Apr 12, 2026
@daniel-raffler daniel-raffler linked an issue Apr 12, 2026 that may be closed by this pull request
@baierd
Copy link
Copy Markdown
Contributor

baierd commented Apr 12, 2026

LGTM! Nice work!

I'll start a 900s run in CPAchecker that fits the initial problem that uncovered the problem. That way we can compare it properly (i already have results for current JavaSMT master).

Copy link
Copy Markdown
Member

@kfriedberger kfriedberger left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm.

@baierd
Copy link
Copy Markdown
Contributor

baierd commented Apr 12, 2026

Results (w comparison to before) for the overflow category:
bitwuzla.overflow.cmp.results.2026-04-13_00-23-37.table.html

No regressions and only 123 out-of-memories now (546 before).
We can still try to find out whether we can do something for the other tasks, but this PR can definitely be merged!
Good job!

@baierd baierd merged commit 299570f into master Apr 12, 2026
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

Bitwuzla: Optimize AllSat implementation

3 participants