Hi,
On 30/10/15 19:13, David Matthews wrote:
On 30/10/2015 07:49, Japheth Lim wrote:
On 21/10/15, Gerwin Klein wrote:
It turns out that with our collection of large Isabelle sessions that we run regularly, polyml heap image space is becoming a noticeable problem for us.
We found another way to solve this problem. Isabelle uses saveState to save heaps. If we use saveChild instead, we get a substantial reduction in heap sizes.
However, this makes the saved states less portable because they contain the pathname of the parent. Then loading will fail if the heaps are moved to a different path. Here it would be nice if Poly/ML could use relative paths for the parent, and look them up relative to the child.
There are other ways to fix this (e.g. chdir before loadState) but I'd rather get the above behaviour from Poly/ML directly. Any thoughts?
What about PolyML.SaveState.renameParent? See http://www.polyml.org/documentation/Reference/PolyMLSaveState.html
This does work for most situations but I don't find it ideal. renameParent would need to be called whenever a state file is moved. It also wouldn't work when a file is loaded through multiple paths at the same time (think e.g. a file that is shared over NFS). I propose that changing the behaviour of Poly/ML here would make it more useful.
Japheth
________________________________
The information in this e-mail may be confidential and subject to legal professional privilege and/or copyright. National ICT Australia Limited accepts no liability for any damage caused by this email or its attachments.