Skip to content
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

Benchmark GB_Con.InCosetSimple versus GB_Con.InCoset (etc) #22

Open
wilfwilson opened this issue Sep 3, 2021 · 1 comment
Open

Benchmark GB_Con.InCosetSimple versus GB_Con.InCoset (etc) #22

wilfwilson opened this issue Sep 3, 2021 · 1 comment
Labels
component: GAP Stuff about the GAP side of Vole nature: technical Uninteresting mathematically and fiddly things topic: performance Issues about bad performance, or suggestions/PRs for things that will improve performance topic: refiners Relating to implementations of refiners in Vole/associated packages

Comments

@wilfwilson
Copy link
Collaborator

(This is perhaps more of a GraphBacktracking issue, but since we're working on Vole at the moment I think it's better to put it here.)

Currently:

About a month ago I switched VoleCon.InGroup to GB_Con.InGroup in the possibly-mistaken belief that GB_Con.InGroupSimple was slower (i.e. produced larger searches) than necessary, in order to be compatible with canonical images, but that since VoleCon.InGroup is not a valid constraint for a canonical image search, we didn't need to take this compatibility into account. So we could use the 'non-simple' one instead.

Note that the group refiners are just instances of the coset refiners with the representative being the identity.

Basically: I want it to be clear which refiners we should be using in Vole.

Things to do:

  • Name things more clearly.
  • Clearly denote (with comments) what the purpose/idea of each refiner is.
  • Benchmark the search size and time taken.
    • Chris thinks that the cosets refiners should produce (on average) the same sized searches, but that the 'simple' one might be faster overall, especially if you're doing repeated searches with the same group(s).
@wilfwilson wilfwilson added topic: performance Issues about bad performance, or suggestions/PRs for things that will improve performance topic: refiners Relating to implementations of refiners in Vole/associated packages labels Sep 3, 2021
@wilfwilson wilfwilson changed the title Benchmark and test GB_Con.InCosetSimple versus GB_Con.InCoset (etc) Benchmark GB_Con.InCosetSimple versus GB_Con.InCoset (etc) Sep 3, 2021
@wilfwilson wilfwilson added the component: GAP Stuff about the GAP side of Vole label Sep 3, 2021
@wilfwilson wilfwilson added the nature: technical Uninteresting mathematically and fiddly things label Oct 22, 2021
@wilfwilson
Copy link
Collaborator Author

With the new constraints setup, in Vole, the conversion of Constraint.InGroup/Constraint.InCoset is done by GraphBacktracking, which always uses the the refiner GB_Con.InCoset and never GB_Con.InCosetSimple. I fear that this may have made things slower.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: GAP Stuff about the GAP side of Vole nature: technical Uninteresting mathematically and fiddly things topic: performance Issues about bad performance, or suggestions/PRs for things that will improve performance topic: refiners Relating to implementations of refiners in Vole/associated packages
Projects
None yet
Development

No branches or pull requests

1 participant