-
Notifications
You must be signed in to change notification settings - Fork 162
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
ENHANCE: Avoid memory issues in solvable conjugacy classes routine. #3078
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
hulpke
added
topic: performance
bugs or enhancements related to performance (improvements or regressions)
do not merge
PRs which are not yet ready to be merged (e.g. submitted for discussion, or test results)
labels
Dec 3, 2018
Codecov Report
@@ Coverage Diff @@
## master #3078 +/- ##
=========================================
Coverage ? 83.58%
=========================================
Files ? 686
Lines ? 336845
Branches ? 0
=========================================
Hits ? 281536
Misses ? 55309
Partials ? 0
|
hulpke
changed the title
ENHANCE: Avoid memory churning in solvable conjugacy classes routine.
ENHANCE: Avoid memory issues in solvable conjugacy classes routine.
Dec 3, 2018
fingolfin
reviewed
Dec 4, 2018
hulpke
force-pushed
the
additions
branch
2 times, most recently
from
December 11, 2018 16:54
5c1b530
to
88afc74
Compare
hulpke
removed
the
do not merge
PRs which are not yet ready to be merged (e.g. submitted for discussion, or test results)
label
Dec 11, 2018
ChrisJefferson
approved these changes
Dec 18, 2018
fingolfin
approved these changes
Dec 18, 2018
lib/claspcgs.gi
Outdated
@@ -325,6 +325,7 @@ local classes, # classes to be constructed, the result | |||
depthlev, # depth at which N starts | |||
one,zero, | |||
vec, | |||
dict, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor nitpick: tabs vs. spaces...
Reduce assertion level in test, as the many tests otherwise make it unusable
Use option to enforce longer blist, as its used anyhow.
This avoids enumerating a large vector space, but is not always possible.
wilfwilson
added
kind: enhancement
Label for issues suggesting enhancements; and for pull requests implementing enhancements
release notes: to be added
PRs introducing changes that should be (but have not yet been) mentioned in the release notes
labels
Apr 15, 2019
DominikBernhardt
added
release notes: added
PRs introducing changes that have since been mentioned in the release notes
and removed
release notes: to be added
PRs introducing changes that should be (but have not yet been) mentioned in the release notes
labels
Aug 22, 2019
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
kind: enhancement
Label for issues suggesting enhancements; and for pull requests implementing enhancements
release notes: added
PRs introducing changes that have since been mentioned in the release notes
topic: performance
bugs or enhancements related to performance (improvements or regressions)
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In cases of many classes being created by acting on a large vector space, there can be significant memory churning by recreating dictionaries and orbits. Avoid doing so.
Changing dictionary limits also pointed out some shortcomings with small matrix groups over large fields.
Finally, try to reduce the size of the vector space, if possible.