Skip to content

chore: create filtering value range selectors as early as possible #1738

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

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

Conversation

zepfred
Copy link
Contributor

@zepfred zepfred commented Aug 13, 2025

This PR updates the value and entity factories to create the entity filtering-related selectors as early as possible. This way, the reachable values are returned first and then processed by outer node selectors. Additionally, it also includes a small change to minimize the hash lookup.

(The next PR will focus on these hash lookups)

Copy link
Collaborator

@triceo triceo left a comment

Choose a reason for hiding this comment

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

Good start! Any performance numbers?

Copy link
Collaborator

@triceo triceo left a comment

Choose a reason for hiding this comment

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

Getting closer.

Are we sure this doesn't change the moves that are generated? I mean - of course it does, that's the point, but are we sure no moves are lost that should not have been lost?

It is difficult to evaluate the logic of the move selector structure.

@zepfred
Copy link
Contributor Author

zepfred commented Aug 15, 2025

Getting closer.

Are we sure this doesn't change the moves that are generated? I mean - of course it does, that's the point, but are we sure no moves are lost that should not have been lost?

It is difficult to evaluate the logic of the move selector structure.

Our FSR validation shows that invalid moves are no longer generated and the overall solution quality has improved, indicating that no valid moves are missed. Also, the coverage using the original iterators confirms that all expected moves are generated, and since the random iterators rely on the same approach, I don't think that's a problem.

Copy link

Please retry analysis of this Pull-Request directly on SonarQube Cloud

Copy link

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