[GAP Forum] Stop GAP from storing group properties
Dima Pasechnik
dima at pasechnik.info
Sat May 8 11:33:41 BST 2021
On Sat, May 08, 2021 at 10:07:00AM +0000, Stefan Kohl wrote:
> Dear Marc,
>
> there are at least two ways to achieve this.
> -- One of them is to use the function `AttributeValueNotSet',
> and another is to only pass the generators of the group to your testing function,
> and to create the group object locally inside that function.
I just wanted to mention Unbind(), a GAP function which allows one to remove
components from records, etc. - check its docs.
And (no longer documented?) GASMAN("collect")
to explicitly trigger garbade collection, something that might help keeping
memory consumption at bay.
HTH
Dima
>
> Does this help you? --
> Let me know if you have any further questions!
>
> Best regards,
>
> Stefan
>
>
> ________________________________
> From: Marc Keilberg <keilberg at usc.edu>
> Sent: Saturday, May 8, 2021 4:01 AM
> To: GAP Forum <Forum at gap-system.org>
> Subject: [GAP Forum] Stop GAP from storing group properties
>
> Dear GAP Forum,
>
> I've been looking to sift through a particular family of a few ten-thousand
> groups, which are not in any of the current libraries, to see if they have
> certain properties. While it's relatively easy to construct the entire
> family of groups via the anupq package, and the test I run on them is
> relatively quick (a second or two per group on my computer), I run into
> serious memory consumption issues when I go to start testing them all (with
> a function specifically written to perform the test in question). While
> the list of groups I want only takes up a few gigabytes, and each iteration
> of the testing function should be consuming a small fraction of that before
> it completes, my total memory consumption constantly ticks up as I run
> through the list, ultimately consuming well more memory than the list of
> groups itself.
>
> The problem, best as I can tell, is that in my function I must compute
> RationalClasses(Center(G)) for the given group G, and this information is
> getting stored in the group, resulting in ever increasing amounts of memory
> consumption as GAP iterates over my list of groups. But I don't want or
> need it stored. I have tried using ShallowCopy, but that doesn't help, as
> the group objects are all non-copyable apparently, so ShallowCopy,
> Immutable, StructuralCopy etc. all just return the original object instead
> of a wholly new one. So it's still storing the information on the original
> group object, instead of a distinct copy that gets deleted upon the
> function completing.
>
> So is there any way I can prevent a testing function from storing
> properties of a group on that group after it completes, or otherwise delete
> any newly stored information before the function exits, and thereby prevent
> this excess memory consumption?
>
> Thanks,
> Marc
> _______________________________________________
> Forum mailing list
> Forum at gap-system.org
> https://mail.gap-system.org/mailman/listinfo/forum
> _______________________________________________
> Forum mailing list
> Forum at gap-system.org
> https://mail.gap-system.org/mailman/listinfo/forum
More information about the Forum
mailing list