1

我在 Maxima 中编写了一个程序(将其翻译为 lisp,因为它在 lisp 之上运行)逐步求解方程。我想表明,如果不可能将所有方程加载到 RAM 中并同时求解,那么可以加载其中的少数几个,并且我们可以逐步添加更多并使用先前求解的方程的解来获得更多新解添加方程。

我的程序运行良好。但问题是,如果我需要证明我的方法将节省 RAM,那么我需要在解决新的方程组之前运行 GC,以便我可以看到我正在使用的最小内存,而目前编译器似乎没有自动进行 GC,因此它显示用于完整操作的聚合内存。

我正在使用Lisp 实现版本:GCL 2.6.8。

我需要知道如何强制垃圾收集或更有效的方法有人可以建议,以防无法在 lisp 中强制 GC(我找不到方法)。

4

1 回答 1

2

通过 gcl 的联机帮助页,我发现了以下内容(这是你想要的吗?)

功能:GBC (x) 包:LISP GCL 特定:使用 X 指定的收集级别调用垃圾收集器 (GC)。NIL 作为参数导致 GC 仅收集单元格。T 作为参数会导致 GC 收集所有内容。

于 2014-07-02T21:48:12.817 回答