我在Maxima中创建了一个程序(将其转换为lisp,因为它在lisp上运行)逐步求解方程式。我想表明,如果不可能将所有方程都加载到RAM中并同时求解,那么很少可以加载它们,并且我们可以逐步添加更多方程并使用先前求解方程的解来获得更多解决方案。添加了方程式。
我的程序运行正常。但问题是,如果我需要证明我的方法将节省RAM,那么我需要在解决新的方程组之前运行GC,这样我才能看到我使用的最小内存,而目前编译器并没有这样做。似乎自动进入GC,因此它显示了用于完整操作的聚合内存。
我正在使用 Lisp实现版本:GCL 2.6.8。
我需要知道如何强制垃圾收集或某些更有效的方法有人可以建议以防万一在lisp中强制GC(我无法找到方法)。
答案 0 :(得分:2)
通过gcl的联机帮助页面,我发现了以下内容(这是你想要的吗?)
功能:GBC(x) 包装:LISP 特定于GCL:使用X指定的集合级别调用垃圾收集器(GC).NIL作为参数使GC仅收集单元格。 T作为参数导致GC收集所有内容。