Well, I'll answer what I can... 2011/3/23 Mathieu Dutour <mathieu.dut...@ens.fr> > ---Is there a way to know how much memory a variable occupies? > The commands GasmanStatistics() is helpful but gives you only > global information when what you want to know is more specific. > Would it be possible to know how much memory a given variable > uses? And the list of variables.
You can use MemoryUsage to get the memory usage of an object (with some caveats - see the manual entry for details). NamesGVars will give you a list of all the global variable names currently known to the GAP interpreter. > ---It is said that the garbage collection of GAP is "very conservative" > What does that really mean? I assume this means that it tries to avoid garbage-collecting any objects until it is absolutely sure that there are no references to it, but I don't know the actual details. > ---In garbage collection, the problem is with cyclical links, > a->b and b->a. Well I do not even know how to create such links, > let alone cyclical in GAP. > What command could lead to such cyclical links? Well, one easy way is gap> a := [];; b := [a];; a[1] := b;; gap> a; b; [ [ ~ ] ] [ [ ~ ] ] gap> a[1] = b; b[1] = a; true true I guess this simple example is probably detectable to the garbage collector, but there of course may be more complicated ones. By the way, in the above, the notation "[ [ ~ ] ]" contains the symbol "~", which means that object itself, i.e. the object is a list containing a list containing the object itself. That's because a = b[1] = a[1][1]. -Keshav CONFIDENTIALITY: This email is intended solely for the person(s) named and may be confidential and/or privileged. If you are not the intended recipient, please delete it, notify us and do not copy, use, or disclose its content. Thank you. Towards A Sustainable Earth: Print Only When Necessary _______________________________________________ Forum mailing list Forum@mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum