On Wednesday, June 22, 2005 4:56 AM Ralf Hemmecke wrote:

> Well, there is something else. How is Axiom supposed to behave in the
> following case? (See axiom--main--1--patch-40/mnt/linux/doc/book.dvi
> Section 1.15.1)
>
> --start axiom
> top:
>    PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
> 17381 hemmecke  16   0 44072 8492 3016 S  0.0  1.7   0:00.12 AXIOMsys
>
> a:=new(1000,1000,0.0)$Matrix(SF);
> b:=new(1001,1001,0.0)$Matrix(SF);
>
> Now top says
> 17381 hemmecke  17   0 44116  21m 3060 S  0.0  4.3   0:00.34 AXIOMsys
>
> )undo -2
>
> And top says
> 17381 hemmecke  16   0 44116  21m 3088 S  0.0  4.3   0:00.34 AXIOMsys
>
> I understand that due to %% and )undo previous results must be cached,
> but why doesn't )undo release memory? Do I read the values of the top
> command incorrectly?

Don't forget that Axiom runs as a lisp application (GCL). This means
memory allocation is dynamic and that memory usage can be affected by
when lisp decides to do garbage collection. You can force GCL to do
garbage collection and return unused memory. Try using the command:

  )lisp (gbc 3)

after the )undo -2

On my Windows version of Axiom this returns some memory to the operating
system. I don't have the linux version here right now to try this.
Please let me know what you get.

Regards,
Bill Page.


_______________________________________________
Axiom-developer mailing list
Axiom-developer@nongnu.org
http://lists.nongnu.org/mailman/listinfo/axiom-developer

Reply via email to