gpt4 book ai didi

arrays - lisp 减少堆(数组与列表)

转载 作者:太空宇宙 更新时间:2023-11-03 18:54:51 25 4
gpt4 key购买 nike

我用 lisp 编写了一个程序,它增加堆的速度太快了。问题应该是两件事之一,但我不知道是哪一件事使堆增长得如此之快。其中一个是一个有 15 个位置的列表,每个位置是一个有 4 个字段的结构(所有字段都只是小数字)另一个是二维数组 15x15

现在对于每个循环周期,我都使用每个循环制作一个副本

对于结构列表:(mapcar #'复制结构列表)

对于 15x15 二维数组(调整阵列 (make-array dims :displaced-to array) 调暗)

有人知道哪个是内存消耗的主要原因吗?预先感谢您的帮助

最佳答案

只要看看这个,两者都会以相似的数量级增长堆。我怀疑您的算法对于您的应用来说空间效率不够高。

(顺便说一下,使用 alexandria:copy-array 来复制数组。adjust-array hack 并不是最有效的方法。)

关于arrays - lisp 减少堆(数组与列表),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13673250/

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