Skip to content

Investigate/remove bound checks #488

Description

@EmirDe

Maarten previously discovered that removing bound checks increased the solver performance significantly (+50% speed?), based on some instances. Most likely this is all tied to some small part of the code, e.g., nogood propagator and/or assignments. That is a sizable improvement for hopefully not so much effort, so it makes sense to think about it. Some points:

  • do a more thorough investigation on a broader set of instances, just to see whether this increase is consistent.
  • isolate where the improvements are coming from, e.g., if we disable bound checks just in the nogood propagator and/or assignments, does that account for all the gains?
  • See if we can avoid the bound checks easily (probably not).
  • discuss the trade-off between unsafe and performance. We could have our own pumpkin checks at moderate level whenever we removed the bound check.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions