首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >newLISP使用垃圾收集吗?

newLISP使用垃圾收集吗?
EN

Stack Overflow用户
提问于 2012-06-25 13:00:35
回答 1查看 836关注 0票数 10

此页一直让我很困惑。

上面写着:

newLISP中的内存管理不依赖垃圾收集算法。内存未被标记或引用计数.相反,是否删除新创建的内存对象的决定是在内存对象创建后立即做出的。 newLISP遵循一个只引用(ORO)规则。在表达式计算期间,一旦newLISP达到更高的计算级别,符号未引用的每个内存对象都会被淘汰。newLISP中的对象(不包括符号和上下文)通过值复制传递给其他用户定义的函数。因此,每个newLISP对象只需要一个引用。

再往下看,我看到:

所有的列表、数组和字符串都是通过引用传递给内建函数的.

我搞不懂这两个。

newLISP怎么能“不依赖垃圾收集算法”,却又通过引用传递东西呢?

例如,在循环引用的情况下,它会做什么?!

LISP是否有可能不使用垃圾收集,而不降低性能呢?(我想你总是可以按值传递东西,或者每当你认为有必要的时候,你都可以执行一次全堆扫描,但在我看来,这会极大地损害你的表现。)

如果是这样,它将如何处理循环引用?如果没有,这是什么意思?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-25 16:05:04

也许阅读http://www.newlisp.org/ExpressionEvaluation.html有助于更好地理解http://www.newlisp.org/MemoryManagement.html论文。关于循环引用:它们不存在于newLISP中,因此无法创建它们。性能问题在内存管理论文的一个小节中讨论,这里是:http://www.newlisp.org/benchmarks/

可能正在进行newLISP的工作和实验--即尝试创建一个循环引用--这将澄清大多数问题。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11189869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档