gpt4 book ai didi

common-lisp - 如何回收无法访问的对象以供将来在 Common Lisp 中使用?

转载 作者:行者123 更新时间:2023-12-02 21:52:48 26 4
gpt4 key购买 nike

我使用 gsllantik 进行一些科学计算,我发现 antik 不会重用无法访问的对象,并且总是分配新的,这使我的程序变慢。

例如,gsll中有一个名为lu-invert的函数,它计算给定矩阵的逆,并且可以指定一个可选的目标对象。如果我指定一个目标对象,lu-invert 会将结果存储到该对象中。否则,lu-invert 将分配一个新对象来存储结果。

我对比了两种情况的耗时,前者比后者快很多。但是,总是为这些函数指定目标对象非常不方便。

我想知道是否有一种方法可以自动回收和重用无法访问的对象,而不是总是分配新的对象。

最佳答案

重用废弃对象而不是让垃圾收集器处理它们的技术是 Resources 。 Common Lisp 版本的资源可在 Peter Norvig's auxfns.lisp 中找到。 .

关于common-lisp - 如何回收无法访问的对象以供将来在 Common Lisp 中使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18840172/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com