turn the global variable RUN_IN_GGMBI into a global option Run_In_GGMBI#6442
Conversation
|
I do not understand the time overflow for "teststandard". I am going to restart the canceled tests. |
|
In the second attempt, "teststandard" needed about 20 minutes. |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #6442 +/- ##
==========================================
+ Coverage 78.89% 79.01% +0.12%
==========================================
Files 685 685
Lines 293520 293514 -6
Branches 8667 8667
==========================================
+ Hits 231558 231917 +359
+ Misses 60162 59788 -374
- Partials 1800 1809 +9 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
| else | ||
| RUN_IN_GGMBI:=true; # hack to skip Nice treatment | ||
| PushOptions( rec( Run_In_GGMBI:= true ) ); # hack to skip Nice treatment | ||
| rest:=GroupHomomorphismByImagesNC(U,Range(hom),gens,imgs); |
There was a problem hiding this comment.
Why the explicit push/pop option calls, why not simply
| rest:=GroupHomomorphismByImagesNC(U,Range(hom),gens,imgs); | |
| rest:=GroupHomomorphismByImagesNC(U,Range(hom),gens,imgs : Run_In_GGMBI); |
There was a problem hiding this comment.
The Range call might need some computation. In the old code, this happened clearly after RUN_IN_GGMBI was set to true.
In a function call, the arguments are (currently) evaluated before the global options get set.
There was a problem hiding this comment.
But Range(hom) is already being accessed in line 274?
There was a problem hiding this comment.
It's not super important, I am just puzzled why in some places you use : Run_In_GGMBI := true and in others this explicit setup; OK, here it was because of the Range, and I see 1-2 more which access Source or Range of something, but otherwise the arguments all seem fine?
(I've also had a look at all our Range methods; they all should be perfectly safe; though of course in practice, for most homomorphisms the range will have been set while creating the homomorphism.)
Overall I suspect that while RUN_IN_GGMBI did indeed affect the code computing the arguments, this wasn't intentional. Perhaps @hulpke can clarify?
There was a problem hiding this comment.
What I tried was to replace the global variable RUN_IN_GGMBI by a global option, without side-effects.
| fphom:=LiftFactorFpHom(fphom,G, | ||
| Group(spec{[f..Length(spec)]}),pcgsM); | ||
| RUN_IN_GGMBI:=false; | ||
| Group(spec{[f..Length(spec)]}),pcgsM : Run_In_GGMBI:= true ); |
There was a problem hiding this comment.
Could also do this (but either is fine by me)
| Group(spec{[f..Length(spec)]}),pcgsM : Run_In_GGMBI:= true ); | |
| Group(spec{[f..Length(spec)]}),pcgsM : Run_In_GGMBI); |
Apparently there were no tests for several pieces of code where the option `Run_In_GGMBI` (formerly the variable `RUN_IN_GGMBI`) is used in library code.
|
When trying to create test examples for the changed pieces of code, I noticed that the occurrence in |
resolves #6440