Skip to content

Conversation

@wytseoortwijn
Copy link
Contributor

Closes #75.

This PR also disables cache flushing by default. The JavaDoc of FLUSH_CACHE_ON_GC says "For most problems, you should keep this set to true.". On the other hand: in case JavaBDD is used for small problem instances, GC will not be invoked and the performance stays the same. And in case JavaBDD is used for large problem instances, GC will be invoked, and then we've seen performance improvements.

@dhendriks dhendriks self-requested a review August 7, 2025 12:58
@dhendriks dhendriks changed the title #75 Fix cache cleanup #75 Fix cache cleanup + enable FLUSH_CACHE_ON_GC by default Aug 7, 2025
@dhendriks
Copy link
Member

I've updated the PR title.

@dhendriks dhendriks merged commit a105edd into com-github-javabdd:master Aug 7, 2025
@wytseoortwijn
Copy link
Contributor Author

Perhaps a small side note still on this PR: cache cleanup now doesn't consider the 'instance' fields of saturation cache entries. This means that cache cleanup assumes that the transition relation BDDs used for saturation are not garbage collected. This is a reasonable assumption I think, but an assumpion nevertheless, that hasn't yet been made explicit somewhere.

@wytseoortwijn wytseoortwijn deleted the 75-fix-cache-cleanup branch August 7, 2025 13:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

Cache cleanup incorrectly handles certain cache entries

2 participants