Lisp中的当前内存使用情况

Lisp中的当前内存使用情况,lisp,memory-management,common-lisp,Lisp,Memory Management,Common Lisp,我需要从一个公共Lisp程序中找出当前正在使用的内存量 我知道没有可移植的方法(标准函数room以文本形式将信息打印到标准输出,而不是将其作为值返回),但是sb内核:动态使用在SBCL中工作 其他常见Lisp实现中的等价物是什么?或者有没有其他方法可以解决这个问题呢?这可能对你没有多大帮助,但无论如何: 您可以捕获(房间)的输出并对其进行解析 (with-output-to-string (*standard-output*) (room)) 上面返回一个带有ROOM输出的字符串 此外,通

我需要从一个公共Lisp程序中找出当前正在使用的内存量

我知道没有可移植的方法(标准函数
room
以文本形式将信息打印到标准输出,而不是将其作为值返回),但是
sb内核:动态使用
在SBCL中工作


其他常见Lisp实现中的等价物是什么?或者有没有其他方法可以解决这个问题呢?

这可能对你没有多大帮助,但无论如何:

您可以捕获(房间)的输出并对其进行解析

(with-output-to-string (*standard-output*)
  (room))
上面返回一个带有ROOM输出的字符串


此外,通过对标准unix命令的外部调用来请求进程的内存大小可能会有所帮助(如果您在unix上)。

对于几乎每个实现都支持但方式不同(因为它不在CL中),一种常见的方法是使库名为whatever


如果您启动了一个包,比如
普通内存
,并提供了第一个实现,我相信我们可以让每个人在短时间内为自己喜欢的Lisp编译器贡献函数。:-)

我当然可以在github上创建一个简单的内存包,并填充我知道的案例。您似乎对获得贡献的前景感到乐观:-)您知道宣布这些事情的合适地点吗,或者您心目中的Lisp社区还有其他方面我不熟悉吗?我之所以乐观,是因为它似乎只是一个小函数调用,每个调用都需要。:-)如果我想发布这样的东西,我可能会尝试让Xach在博客上发布,这意味着它会出现在planet.lisp.org上。如果有一两个常见的实现您无法得到答案,您也可以在s.O.上发布一个关于它的特定问题。祝你好运