Common lisp GCL中的强制垃圾收集

Common lisp GCL中的强制垃圾收集,common-lisp,gnu-common-lisp,Common Lisp,Gnu Common Lisp,我用Maxima编写了一个程序(在lisp上运行时将其转换为lisp),逐步求解方程。我想说明的是,如果不可能在RAM中加载所有方程并同时求解,那么可以加载的方程很少,我们可以逐步添加更多,并使用以前求解的方程的解来获得新添加方程的更多解 我的程序运行良好。但问题是,如果我需要证明我的方法将节省RAM,那么我需要在解决新的方程组之前运行GC,这样我就可以看到我使用的最小内存,而目前编译器似乎不会自动使用GC,因此它显示用于完整操作的聚合内存 我使用的是Lisp实现版本:GCL2.6.8。 我需要

我用Maxima编写了一个程序(在lisp上运行时将其转换为lisp),逐步求解方程。我想说明的是,如果不可能在RAM中加载所有方程并同时求解,那么可以加载的方程很少,我们可以逐步添加更多,并使用以前求解的方程的解来获得新添加方程的更多解

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

我使用的是Lisp实现版本:GCL2.6.8。


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

浏览gcl的主页,我发现以下内容(这是您想要的吗?)

功能:GBC(x) 软件包:LISP
GCL-specific:使用X.NIL指定的收集级别调用垃圾收集器(GC),因为参数导致GC仅收集单元格。因为参数导致GC收集所有信息。

您可能对它感兴趣。这里是关于函数的信息。也许这种统计信息(收集了好几次)可以帮助您证明算法的有效性。@马克:谢谢链接,但我可以从“房间”本身收集。我没有办法强迫GC吗?我只想读一下GCL手册…@RainerJoswig:事实上,我试着找到了,但是找不到,所以我在这里发了帖子。根据你的建议,我再次搜索并找到了它“(gbc t)”。我通过比较“房间”来测试它,调用它后,我看到了更多的漏洞,这是我需要的。