chocoteam / chocoteam/choco-solver

Optimize checking of unsupported values in CouplesBitSetTable

Open
#1,160 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
779
Forks
159
Avg merge
6d 9h
Merged PRs (30d)
10

Description

Noticed this possible optimization while profiling my app.

Currently `PropBinAC3bitrm.propagate()` and `PropBinAC3bitrm.revise()` methods call `CouplesBitSetTable.checkUnsupportedValue()` in a loop with fixed `var` and `v`:

https://github.com/chocoteam/choco-solver/blob/master/solver/src/main/java/org/chocosolver/solver/constraints/extension/binary/PropBinAC3bitrm.java#L62-L90

I'll add a PR with a potential optimization that in our app increased the performance 3x

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.